mirror of
https://github.com/ONLYOFFICE/onlyoffice.github.io.git
synced 2026-04-07 14:04:30 +08:00
[zoom] - plugin fixes
This commit is contained in:
@ -15,5 +15,6 @@ Detailed instructions can be found in [ONLYOFFICE API documentation](https://api
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
1. Create a JWT application at https://marketplace.zoom.us/develop/create. Fill the all necessary fields and activate the app.
|
1. To use the meeting schedule create a JWT app at https://marketplace.zoom.us/develop/create. Fill the all necessary fields and activate the app.
|
||||||
2. Copy API Key, API Secret and JWT Token from your app credentials and paste it to specified fields in plugin, click Save.
|
2. To join to meetings create a Meeting SDK app at https://marketplace.zoom.us/develop/create. Fill the all necessary fields and activate the app.
|
||||||
|
2. Copy SDK Key, SDK Secret and JWT Token from your JWT and SDK apps credentials and paste it to specified fields in plugin, click Save.
|
||||||
|
|||||||
@ -276,15 +276,15 @@
|
|||||||
<option value="America/Phoenix">
|
<option value="America/Phoenix">
|
||||||
(GMT-7:00) Arizona
|
(GMT-7:00) Arizona
|
||||||
</option>
|
</option>
|
||||||
|
<option value="America/Mazatlan">
|
||||||
|
(GMT-7:00) Mazatlan
|
||||||
|
</option>
|
||||||
<option value="America/Edmonton">
|
<option value="America/Edmonton">
|
||||||
(GMT-6:00) Edmonton
|
(GMT-6:00) Edmonton
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Denver">
|
<option value="America/Denver">
|
||||||
(GMT-6:00) Mountain Time (US and Canada)
|
(GMT-6:00) Mountain Time (US and Canada)
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Mazatlan">
|
|
||||||
(GMT-6:00) Mazatlan
|
|
||||||
</option>
|
|
||||||
<option value="America/Regina">
|
<option value="America/Regina">
|
||||||
(GMT-6:00) Saskatchewan
|
(GMT-6:00) Saskatchewan
|
||||||
</option>
|
</option>
|
||||||
@ -303,15 +303,15 @@
|
|||||||
<option value="America/Tegucigalpa">
|
<option value="America/Tegucigalpa">
|
||||||
(GMT-6:00) Tegucigalpa
|
(GMT-6:00) Tegucigalpa
|
||||||
</option>
|
</option>
|
||||||
|
<option value="America/Mexico_City">
|
||||||
|
(GMT-6:00) Mexico City
|
||||||
|
</option>
|
||||||
<option value="America/Chicago">
|
<option value="America/Chicago">
|
||||||
(GMT-5:00) Central Time (US and Canada)
|
(GMT-5:00) Central Time (US and Canada)
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Winnipeg">
|
<option value="America/Winnipeg">
|
||||||
(GMT-5:00) Winnipeg
|
(GMT-5:00) Winnipeg
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Mexico_City">
|
|
||||||
(GMT-5:00) Mexico City
|
|
||||||
</option>
|
|
||||||
<option value="America/Panama">
|
<option value="America/Panama">
|
||||||
(GMT-5:00) Panama
|
(GMT-5:00) Panama
|
||||||
</option>
|
</option>
|
||||||
@ -337,7 +337,7 @@
|
|||||||
(GMT-4:00) Caracas
|
(GMT-4:00) Caracas
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Santiago">
|
<option value="America/Santiago">
|
||||||
(GMT-4:00) Santiago
|
(GMT-3:00) Santiago
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Halifax">
|
<option value="America/Halifax">
|
||||||
(GMT-3:00) Halifax
|
(GMT-3:00) Halifax
|
||||||
@ -357,12 +357,12 @@
|
|||||||
<option value="Canada/Atlantic">
|
<option value="Canada/Atlantic">
|
||||||
(GMT-3:00) Atlantic Time (Canada)
|
(GMT-3:00) Atlantic Time (Canada)
|
||||||
</option>
|
</option>
|
||||||
|
<option value="America/Godthab">
|
||||||
|
(GMT-3:00) Greenland
|
||||||
|
</option>
|
||||||
<option value="America/St_Johns">
|
<option value="America/St_Johns">
|
||||||
(GMT-2:30) Newfoundland and Labrador
|
(GMT-2:30) Newfoundland and Labrador
|
||||||
</option>
|
</option>
|
||||||
<option value="America/Godthab">
|
|
||||||
(GMT-2:00) Greenland
|
|
||||||
</option>
|
|
||||||
<option value="Atlantic/Cape_Verde">
|
<option value="Atlantic/Cape_Verde">
|
||||||
(GMT-1:00) Cape Verde Islands
|
(GMT-1:00) Cape Verde Islands
|
||||||
</option>
|
</option>
|
||||||
@ -378,20 +378,20 @@
|
|||||||
<option value="Atlantic/Reykjavik">
|
<option value="Atlantic/Reykjavik">
|
||||||
(GMT+0:00) Reykjavik
|
(GMT+0:00) Reykjavik
|
||||||
</option>
|
</option>
|
||||||
<option value="Africa/Casablanca">
|
|
||||||
(GMT+0:00) Casablanca
|
|
||||||
</option>
|
|
||||||
<option value="Africa/Nouakchott">
|
<option value="Africa/Nouakchott">
|
||||||
(GMT+0:00) Nouakchott
|
(GMT+0:00) Nouakchott
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Dublin">
|
<option value="Europe/Dublin">
|
||||||
(GMT+1:00) Dublin
|
(GMT+0:00) Dublin
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/London">
|
<option value="Europe/London">
|
||||||
(GMT+1:00) London
|
(GMT+0:00) London
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Lisbon">
|
<option value="Europe/Lisbon">
|
||||||
(GMT+1:00) Lisbon
|
(GMT+0:00) Lisbon
|
||||||
|
</option>
|
||||||
|
<option value="Africa/Casablanca">
|
||||||
|
(GMT+1:00) Casablanca
|
||||||
</option>
|
</option>
|
||||||
<option value="Africa/Bangui">
|
<option value="Africa/Bangui">
|
||||||
(GMT+1:00) West Central Africa
|
(GMT+1:00) West Central Africa
|
||||||
@ -403,59 +403,59 @@
|
|||||||
(GMT+1:00) Tunis
|
(GMT+1:00) Tunis
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Belgrade">
|
<option value="Europe/Belgrade">
|
||||||
(GMT+2:00) Belgrade, Bratislava, Ljubljana
|
(GMT+1:00) Belgrade, Bratislava, Ljubljana
|
||||||
</option>
|
</option>
|
||||||
<option value="CET">
|
<option value="CET">
|
||||||
(GMT+2:00) Sarajevo, Skopje, Zagreb
|
(GMT+1:00) Sarajevo, Skopje, Zagreb
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Oslo">
|
<option value="Europe/Oslo">
|
||||||
(GMT+2:00) Oslo
|
(GMT+1:00) Oslo
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Copenhagen">
|
<option value="Europe/Copenhagen">
|
||||||
(GMT+2:00) Copenhagen
|
(GMT+1:00) Copenhagen
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Brussels">
|
<option value="Europe/Brussels">
|
||||||
(GMT+2:00) Brussels
|
(GMT+1:00) Brussels
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Berlin">
|
<option value="Europe/Berlin">
|
||||||
(GMT+2:00) Amsterdam, Berlin, Rome, Stockholm, Vienna
|
(GMT+1:00) Amsterdam, Berlin, Rome, Stockholm, Vienna
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Amsterdam">
|
<option value="Europe/Amsterdam">
|
||||||
(GMT+2:00) Amsterdam
|
(GMT+1:00) Amsterdam
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Rome">
|
<option value="Europe/Rome">
|
||||||
(GMT+2:00) Rome
|
(GMT+1:00) Rome
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Stockholm">
|
<option value="Europe/Stockholm">
|
||||||
(GMT+2:00) Stockholm
|
(GMT+1:00) Stockholm
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Vienna">
|
<option value="Europe/Vienna">
|
||||||
(GMT+2:00) Vienna
|
(GMT+1:00) Vienna
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Luxembourg">
|
<option value="Europe/Luxembourg">
|
||||||
(GMT+2:00) Luxembourg
|
(GMT+1:00) Luxembourg
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Paris">
|
<option value="Europe/Paris">
|
||||||
(GMT+2:00) Paris
|
(GMT+1:00) Paris
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Zurich">
|
<option value="Europe/Zurich">
|
||||||
(GMT+2:00) GMT+2:00)Zurich
|
(GMT+1:00) Zurich
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Madrid">
|
<option value="Europe/Madrid">
|
||||||
(GMT+2:00) Madrid
|
(GMT+1:00) Madrid
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Warsaw">
|
||||||
|
(GMT+1:00) Warsaw
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Prague">
|
||||||
|
(GMT+1:00) Prague Bratislava
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Budapest">
|
||||||
|
(GMT+1:00) Budapest
|
||||||
</option>
|
</option>
|
||||||
<option value="Africa/Harare">
|
<option value="Africa/Harare">
|
||||||
(GMT+2:00) Harare, Pretoria
|
(GMT+2:00) Harare, Pretoria
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Warsaw">
|
|
||||||
(GMT+2:00) Warsaw
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Prague">
|
|
||||||
(GMT+2:00) Prague Bratislava
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Budapest">
|
|
||||||
(GMT+2:00) Budapest
|
|
||||||
</option>
|
|
||||||
<option value="Africa/Tripoli">
|
<option value="Africa/Tripoli">
|
||||||
(GMT+2:00) Tripoli
|
(GMT+2:00) Tripoli
|
||||||
</option>
|
</option>
|
||||||
@ -468,42 +468,42 @@
|
|||||||
<option value="Africa/Khartoum">
|
<option value="Africa/Khartoum">
|
||||||
(GMT+2:00) Khartoum
|
(GMT+2:00) Khartoum
|
||||||
</option>
|
</option>
|
||||||
|
<option value="Europe/Helsinki">
|
||||||
|
(GMT+2:00) Helsinki
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Sofia">
|
||||||
|
(GMT+2:00) Sofia
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Athens">
|
||||||
|
(GMT+2:00) Athens
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Bucharest">
|
||||||
|
(GMT+2:00) Bucharest
|
||||||
|
</option>
|
||||||
|
<option value="Europe/Kiev">
|
||||||
|
(GMT+2:00) Kiev
|
||||||
|
</option>
|
||||||
|
<option value="Asia/Nicosia">
|
||||||
|
(GMT+2:00) Nicosia
|
||||||
|
</option>
|
||||||
|
<option value="Asia/Beirut">
|
||||||
|
(GMT+2:00) Beirut
|
||||||
|
</option>
|
||||||
|
<option value="Asia/Damascus">
|
||||||
|
(GMT+2:00) Damascus
|
||||||
|
</option>
|
||||||
|
<option value="Asia/Jerusalem">
|
||||||
|
(GMT+2:00) Jerusalem
|
||||||
|
</option>
|
||||||
|
<option value="Asia/Amman">
|
||||||
|
(GMT+2:00) Amman
|
||||||
|
</option>
|
||||||
<option value="Africa/Nairobi">
|
<option value="Africa/Nairobi">
|
||||||
(GMT+3:00) Nairobi
|
(GMT+3:00) Nairobi
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Helsinki">
|
|
||||||
(GMT+3:00) Helsinki
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Sofia">
|
|
||||||
(GMT+3:00) Sofia
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Istanbul">
|
<option value="Europe/Istanbul">
|
||||||
(GMT+3:00) Istanbul
|
(GMT+3:00) Istanbul
|
||||||
</option>
|
</option>
|
||||||
<option value="Europe/Athens">
|
|
||||||
(GMT+3:00) Athens
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Bucharest">
|
|
||||||
(GMT+3:00) Bucharest
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Kiev">
|
|
||||||
(GMT+3:00) Kiev
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Nicosia">
|
|
||||||
(GMT+3:00) Nicosia
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Beirut">
|
|
||||||
(GMT+3:00) Beirut
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Damascus">
|
|
||||||
(GMT+3:00) Damascus
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Jerusalem">
|
|
||||||
(GMT+3:00) Jerusalem
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Amman">
|
|
||||||
(GMT+3:00) Amman
|
|
||||||
</option>
|
|
||||||
<option value="Europe/Moscow">
|
<option value="Europe/Moscow">
|
||||||
(GMT+3:00) Moscow
|
(GMT+3:00) Moscow
|
||||||
</option>
|
</option>
|
||||||
@ -531,6 +531,9 @@
|
|||||||
<option value="Africa/Mogadishu">
|
<option value="Africa/Mogadishu">
|
||||||
(GMT+3:00) Mogadishu
|
(GMT+3:00) Mogadishu
|
||||||
</option>
|
</option>
|
||||||
|
<option value="Asia/Tehran">
|
||||||
|
(GMT+3:30) Tehran
|
||||||
|
</option>
|
||||||
<option value="Asia/Dubai">
|
<option value="Asia/Dubai">
|
||||||
(GMT+4:00) Dubai
|
(GMT+4:00) Dubai
|
||||||
</option>
|
</option>
|
||||||
@ -540,9 +543,6 @@
|
|||||||
<option value="Asia/Baku">
|
<option value="Asia/Baku">
|
||||||
(GMT+4:00) Baku, Tbilisi, Yerevan
|
(GMT+4:00) Baku, Tbilisi, Yerevan
|
||||||
</option>
|
</option>
|
||||||
<option value="Asia/Tehran">
|
|
||||||
(GMT+4:30) Tehran
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Kabul">
|
<option value="Asia/Kabul">
|
||||||
(GMT+4:30) Kabul
|
(GMT+4:30) Kabul
|
||||||
</option>
|
</option>
|
||||||
@ -618,9 +618,7 @@
|
|||||||
<option value="Australia/Darwin">
|
<option value="Australia/Darwin">
|
||||||
(GMT+9:30) Darwin
|
(GMT+9:30) Darwin
|
||||||
</option>
|
</option>
|
||||||
<option value="Australia/Adelaide">
|
|
||||||
(GMT+9:30) Adelaide
|
|
||||||
</option>
|
|
||||||
<option value="Asia/Vladivostok">
|
<option value="Asia/Vladivostok">
|
||||||
(GMT+10:00) Vladivostok
|
(GMT+10:00) Vladivostok
|
||||||
</option>
|
</option>
|
||||||
@ -630,11 +628,11 @@
|
|||||||
<option value="Australia/Brisbane">
|
<option value="Australia/Brisbane">
|
||||||
(GMT+10:00) Brisbane
|
(GMT+10:00) Brisbane
|
||||||
</option>
|
</option>
|
||||||
<option value="Australia/Sydney">
|
<option value="Australia/Adelaide">
|
||||||
(GMT+10:00) Canberra, Melbourne, Sydney
|
(GMT+10:30) Adelaide
|
||||||
</option>
|
</option>
|
||||||
<option value="Australia/Hobart">
|
<option value="Australia/Sydney">
|
||||||
(GMT+10:00) Hobart
|
(GMT+11:00) Canberra, Melbourne, Sydney
|
||||||
</option>
|
</option>
|
||||||
<option value="Asia/Magadan">
|
<option value="Asia/Magadan">
|
||||||
(GMT+11:00) Magadan
|
(GMT+11:00) Magadan
|
||||||
@ -642,6 +640,9 @@
|
|||||||
<option value="SST">
|
<option value="SST">
|
||||||
(GMT+11:00) Solomon Islands
|
(GMT+11:00) Solomon Islands
|
||||||
</option>
|
</option>
|
||||||
|
<option value="Australia/Hobart">
|
||||||
|
(GMT+11:00) Hobart
|
||||||
|
</option>
|
||||||
<option value="Pacific/Noumea">
|
<option value="Pacific/Noumea">
|
||||||
(GMT+11:00) New Caledonia
|
(GMT+11:00) New Caledonia
|
||||||
</option>
|
</option>
|
||||||
@ -652,7 +653,7 @@
|
|||||||
(GMT+12:00) Fiji Islands, Marshall Islands
|
(GMT+12:00) Fiji Islands, Marshall Islands
|
||||||
</option>
|
</option>
|
||||||
<option value="Pacific/Auckland">
|
<option value="Pacific/Auckland">
|
||||||
(GMT+12:00) Auckland, Wellington
|
(GMT+13:00) Auckland, Wellington
|
||||||
</option>
|
</option>
|
||||||
<option value="Pacific/Apia">
|
<option value="Pacific/Apia">
|
||||||
(GMT+13:00) Independent State of Samoa
|
(GMT+13:00) Independent State of Samoa
|
||||||
@ -696,25 +697,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin: 16px 0 16px 0;">
|
<div style="margin: 16px 0 16px 0;">
|
||||||
<div id="reconf">
|
<div>
|
||||||
<label class="reconf-label noselect" style="float: right; margin-right: 12px; cursor:pointer;">Reconfigure</label>
|
<label id="reconf" class="reconf-label noselect" style="float: right; margin-right: 12px; cursor:pointer;">Reconfigure</label>
|
||||||
</div>
|
</div>
|
||||||
<div id="switch">
|
<div>
|
||||||
<label class="switch-label noselect" style="margin-left: 12px; cursor:pointer;">Meeting mode</label>
|
<label id="switch" class="switch-label noselect" style="margin-left: 12px; cursor:pointer;">Meeting mode</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="configState">
|
<div id="configState">
|
||||||
<div>
|
<div>
|
||||||
<div style="margin:12px;"> <span class="i18n">To use Zoom plugin, register this editor as a JWT app.</span> <a target="_blank" href="https://github.com/ONLYOFFICE/plugin-zoom/tree/develop#configuration" class="link i18n">Learn more here.</a> </div>
|
<div style="margin:12px;"> <span class="i18n">To use Zoom plugin, register this editor as a JWT app.</span> <a target="_blank" href="https://github.com/ONLYOFFICE/onlyoffice.github.io/tree/master/sdkjs-plugins/content/zoom#readme" class="link i18n">Learn more here.</a> </div>
|
||||||
<div style="margin:12px;"> In the form, enter any application name and description, accept Terms and Conditions and generate a secret. Enter Client ID, Secret ID, JWT token below and save it. </div>
|
<div style="margin:12px;"> In the form, enter any application name and description, accept Terms and Conditions and generate a secret. Enter Client ID, Secret ID, JWT token below and save it. </div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>Email</span>
|
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>Email</span>
|
||||||
<input id="emailField" autocomplete="off" class="form-control" data-id="zoom-email-value" type="text" placeholder="Email" /> </div>
|
<input id="emailField" autocomplete="off" class="form-control" data-id="zoom-email-value" type="text" placeholder="Email" /> </div>
|
||||||
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>API Key</span>
|
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>SDK Key</span>
|
||||||
<input id="apiKeyField" autocomplete="off" class="form-control" data-id="zoom-client-key" type="text" placeholder="API Key" /> </div>
|
<input id="apiKeyField" autocomplete="off" class="form-control" data-id="zoom-client-key" type="text" placeholder="SDK Key" /> </div>
|
||||||
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>API Secret</span>
|
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>SDK Secret</span>
|
||||||
<input id="secretKeyField" autocomplete="off" class="form-control" data-id="zoom-secret-key" type="password" placeholder="API Secret" /> </div>
|
<input id="secretKeyField" autocomplete="off" class="form-control" data-id="zoom-secret-key" type="password" placeholder="SDK Secret" /> </div>
|
||||||
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>JWT Token</span>
|
<div style="display: flex; flex-direction: column; margin: 12px;"> <span>JWT Token</span>
|
||||||
<input id="tokenKeyField" autocomplete="off" class="form-control" data-id="zoom-jwt-token" type="text" placeholder="JWT Token" /> </div>
|
<input id="tokenKeyField" autocomplete="off" class="form-control" data-id="zoom-jwt-token" type="text" placeholder="JWT Token" /> </div>
|
||||||
<div id="saveConfigBtn" class="button wide control i18n">
|
<div id="saveConfigBtn" class="button wide control i18n">
|
||||||
|
|||||||
@ -93,6 +93,7 @@
|
|||||||
.form-group {
|
.form-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
margin-bottom: 12px !important;
|
||||||
}
|
}
|
||||||
label {
|
label {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
@ -274,9 +275,22 @@
|
|||||||
|
|
||||||
rule += "*::-webkit-scrollbar-track { background : " + oTheme["background-normal"] + ";}\n";
|
rule += "*::-webkit-scrollbar-track { background : " + oTheme["background-normal"] + ";}\n";
|
||||||
rule += "*::-webkit-scrollbar-track:hover { background : " + oTheme["background-toolbar-additional"] + ";}\n";
|
rule += "*::-webkit-scrollbar-track:hover { background : " + oTheme["background-toolbar-additional"] + ";}\n";
|
||||||
rule += "*::-webkit-scrollbar-thumb { background-color : " + oTheme["background-toolbar"] + "; border-color : " + oTheme["border-regular-control"] + ";}\n";
|
rule += "*::-webkit-scrollbar-thumb { background-color : " + oTheme["background-toolbar"] + "!important; border-color : " + oTheme["border-regular-control"] + ";}\n";
|
||||||
rule += "*::-webkit-scrollbar-thumb:hover { background-color : " + oTheme["canvas-scroll-thumb-hover"] + ";}\n";
|
rule += "*::-webkit-scrollbar-thumb:hover { background-color : " + oTheme["canvas-scroll-thumb-hover"] + ";}\n";
|
||||||
|
|
||||||
|
rule += ".select2-search__field { height: 20px; }\n";
|
||||||
|
rule += "*::-webkit-scrollbar { width: 9px !important; }\n";
|
||||||
|
rule += "*::-webkit-scrollbar-thumb { border-radius: 2px; background: no-repeat;}\n";
|
||||||
|
|
||||||
|
rule += `::selection {\
|
||||||
|
background-color: ${oTheme["highlight-text-select"]};\
|
||||||
|
color: ${oTheme["text-inverse"]};\
|
||||||
|
}`;
|
||||||
|
|
||||||
|
rule += "input::placeholder {\
|
||||||
|
font-size: 11px !important;\
|
||||||
|
}";
|
||||||
|
|
||||||
$('#nav-tool').css('background-color', oTheme["background-toolbar"]);
|
$('#nav-tool').css('background-color', oTheme["background-toolbar"]);
|
||||||
$("label").css('color', oTheme["text-normal"]);
|
$("label").css('color', oTheme["text-normal"]);
|
||||||
$('.reconf-label, .switch-label, .label-settings').css('border-bottom', '1px dashed ' + oTheme["text-normal"]);
|
$('.reconf-label, .switch-label, .label-settings').css('border-bottom', '1px dashed ' + oTheme["text-normal"]);
|
||||||
@ -289,12 +303,12 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/react.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/react.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/react-dom.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/react-dom.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/redux.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/redux.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/redux-thunk.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/redux-thunk.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/lodash.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/lodash.min.js"></script>
|
||||||
<script src="https://source.zoom.us/zoom-meeting-2.2.0.min.js"></script>
|
<script src="https://source.zoom.us/zoom-meeting-2.8.0.min.js"></script>
|
||||||
<script src="vendor/zoom-sdk/tool.js"></script>
|
<script src="vendor/zoom-sdk/tool.js"></script>
|
||||||
<script src="vendor/zoom-sdk/meeting.js"></script>
|
<script src="vendor/zoom-sdk/meeting.js"></script>
|
||||||
<script src="vendor/zoom-sdk/vconsole.min.js"></script>
|
<script src="vendor/zoom-sdk/vconsole.min.js"></script>
|
||||||
|
|||||||
@ -20,12 +20,12 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<body>
|
<body>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/react.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/react.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/react-dom.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/react-dom.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/redux.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/redux.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/redux-thunk.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/redux-thunk.min.js"></script>
|
||||||
<script src="https://source.zoom.us/2.2.0/lib/vendor/lodash.min.js"></script>
|
<script src="https://source.zoom.us/2.8.0/lib/vendor/lodash.min.js"></script>
|
||||||
<script src="https://source.zoom.us/zoom-meeting-2.2.0.min.js"></script>
|
<script src="https://source.zoom.us/zoom-meeting-2.8.0.min.js"></script>
|
||||||
<script src="vendor/zoom-sdk/tool.js"></script>
|
<script src="vendor/zoom-sdk/tool.js"></script>
|
||||||
<script src="vendor/zoom-sdk/vconsole.min.js"></script>
|
<script src="vendor/zoom-sdk/vconsole.min.js"></script>
|
||||||
<script src="vendor/zoom-sdk/meeting.js"></script>
|
<script src="vendor/zoom-sdk/meeting.js"></script>
|
||||||
|
|||||||
@ -130,6 +130,7 @@ var Ps;
|
|||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
window.switchForms = function(elmToHide, elmToShow) {
|
window.switchForms = function(elmToHide, elmToShow) {
|
||||||
$(elmToHide).toggleClass('display-none');
|
$(elmToHide).toggleClass('display-none');
|
||||||
$(elmToShow).toggleClass('display-none');
|
$(elmToShow).toggleClass('display-none');
|
||||||
@ -221,6 +222,12 @@ var Ps;
|
|||||||
$('#configState').toggleClass('display-none');
|
$('#configState').toggleClass('display-none');
|
||||||
});
|
});
|
||||||
$('#switch').click(function() {
|
$('#switch').click(function() {
|
||||||
|
if (apiKey == "" || secretKey == "") {
|
||||||
|
alert("SDK Key or Secret are empty. Check your credentials.");
|
||||||
|
$('#reconf').trigger("click");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$('#create-meeting-container').toggleClass('display-none');
|
$('#create-meeting-container').toggleClass('display-none');
|
||||||
$('#iframe_join').toggleClass('display-none');
|
$('#iframe_join').toggleClass('display-none');
|
||||||
|
|
||||||
@ -336,6 +343,31 @@ var Ps;
|
|||||||
localStorage.setItem($('#secretKeyField').attr("data-id"), secretKey);
|
localStorage.setItem($('#secretKeyField').attr("data-id"), secretKey);
|
||||||
localStorage.setItem($('#tokenKeyField').attr("data-id"), tokenKey);
|
localStorage.setItem($('#tokenKeyField').attr("data-id"), tokenKey);
|
||||||
|
|
||||||
|
if (email !== "") {
|
||||||
|
if (localStorage.getItem($('#timezone').attr('data-id')) === null) {
|
||||||
|
if (oResponse.timezone != "") {
|
||||||
|
localStorage.setItem($('#timezone').attr('data-id'), oResponse.timezone);
|
||||||
|
$('#timezone').val(oResponse.timezone);
|
||||||
|
$('#timezone').trigger('change');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (localStorage.getItem($('#timezone').attr('data-id')) === null) {
|
||||||
|
if (oResponse.users[0].timezone != "") {
|
||||||
|
localStorage.setItem($('#timezone').attr('data-id'), oResponse.users[0].timezone);
|
||||||
|
$('#timezone').val(oResponse.users[0].timezone);
|
||||||
|
$('#timezone').trigger('change');
|
||||||
|
}
|
||||||
|
if (oResponse.users[0].email) {
|
||||||
|
email = oResponse.users[0].email;
|
||||||
|
$('#emailField').val(email);
|
||||||
|
localStorage.setItem($('#emailField').attr("data-id"), email);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$('#configState').toggleClass('display-none');
|
$('#configState').toggleClass('display-none');
|
||||||
$('#create-meeting-container').toggleClass('display-none');
|
$('#create-meeting-container').toggleClass('display-none');
|
||||||
|
|
||||||
@ -422,6 +454,31 @@ var Ps;
|
|||||||
return isEmpty;
|
return isEmpty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function CheckValidDate(aDateFromPicker, hour, min, timezone) {
|
||||||
|
|
||||||
|
let [year, month, day] = [parseInt(aDateFromPicker[2]), parseInt(aDateFromPicker[0]) - 1, parseInt(aDateFromPicker[1])];
|
||||||
|
hour = parseInt(hour);
|
||||||
|
min = parseInt(min);
|
||||||
|
|
||||||
|
let timezoneOffset = parseInt(timezone[4] + String(parseInt(timezone.slice(5,7)) * 60 + parseInt(timezone.slice(8,10))));
|
||||||
|
let curDate = new Date(Date.now());
|
||||||
|
|
||||||
|
let scheduleDate = new Date();
|
||||||
|
scheduleDate.setUTCFullYear(year);
|
||||||
|
scheduleDate.setUTCMonth(month);
|
||||||
|
scheduleDate.setUTCDate(day);
|
||||||
|
scheduleDate.setUTCHours(hour);
|
||||||
|
scheduleDate.setUTCMinutes(min);
|
||||||
|
|
||||||
|
scheduleDate.setUTCMinutes(scheduleDate.getUTCMinutes() - timezoneOffset);
|
||||||
|
|
||||||
|
if (curDate.getTime() > scheduleDate.getTime()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function CreateMeeting(isNowMeeting) {
|
function CreateMeeting(isNowMeeting) {
|
||||||
if ($('#duration-hour').val() === "0" && $('#duration-min').val() === "0")
|
if ($('#duration-hour').val() === "0" && $('#duration-min').val() === "0")
|
||||||
{
|
{
|
||||||
@ -475,6 +532,12 @@ var Ps;
|
|||||||
}
|
}
|
||||||
sResultTime = sDate + 'T' + sTime + ':00';
|
sResultTime = sDate + 'T' + sTime + ':00';
|
||||||
|
|
||||||
|
if (CheckValidDate(arrSplittedDate, sTime.split(":")[0], sTime.split(":")[1], $('#timezone').find(":selected").text().trim()) == false) {
|
||||||
|
alert("Specify a start time and an end time that must be later than the current time.");
|
||||||
|
showLoader(elements, false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// calc duration in minutes
|
// calc duration in minutes
|
||||||
var sResultDuration = String(Number(sDurationHour) * 60 + Number(sDurationMin));
|
var sResultDuration = String(Number(sDurationHour) * 60 + Number(sDurationMin));
|
||||||
|
|
||||||
@ -528,6 +591,13 @@ var Ps;
|
|||||||
showLoader(elements, false);
|
showLoader(elements, false);
|
||||||
}).error(function(e) {
|
}).error(function(e) {
|
||||||
alert('Meeting was not created');
|
alert('Meeting was not created');
|
||||||
|
if (e.responseJSON && e.responseJSON.message) {
|
||||||
|
console.log(e.responseJSON.message);
|
||||||
|
if (e.responseJSON.message.search("Invalid access token.") != -1) {
|
||||||
|
alert("Invalid access (JWT) token.")
|
||||||
|
$('#reconf').trigger("click");
|
||||||
|
}
|
||||||
|
}
|
||||||
showLoader(elements, false);
|
showLoader(elements, false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
SIGNATURE_SERVER = "https://onlyofficezoom.herokuapp.com/";
|
SIGNATURE_SERVER = "https://onlyoffice-zoom-sdk-signature.herokuapp.com/";
|
||||||
|
|
||||||
window.addEventListener('DOMContentLoaded', function(event) {
|
window.addEventListener('DOMContentLoaded', function(event) {
|
||||||
console.log('DOM fully loaded and parsed');
|
console.log('DOM fully loaded and parsed');
|
||||||
@ -28,7 +28,7 @@ function websdkready() {
|
|||||||
// ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/@zoomus/websdk/dist/lib', '/av'); // Local version default, Angular Project change to use cdn version
|
// ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/@zoomus/websdk/dist/lib', '/av'); // Local version default, Angular Project change to use cdn version
|
||||||
ZoomMtg.preLoadWasm(); // pre download wasm file to save time.
|
ZoomMtg.preLoadWasm(); // pre download wasm file to save time.
|
||||||
|
|
||||||
var API_KEY, API_SECRET;
|
var SDK_KEY, SDK_SECRET;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NEVER PUT YOUR ACTUAL API SECRET IN CLIENT SIDE CODE, THIS IS JUST FOR QUICK PROTOTYPING
|
* NEVER PUT YOUR ACTUAL API SECRET IN CLIENT SIDE CODE, THIS IS JUST FOR QUICK PROTOTYPING
|
||||||
@ -83,8 +83,8 @@ function websdkready() {
|
|||||||
|
|
||||||
// click join meeting button
|
// click join meeting button
|
||||||
window.joinMeeting = function () {
|
window.joinMeeting = function () {
|
||||||
API_KEY = localStorage.getItem('zoom-client-key') || "";
|
SDK_KEY = localStorage.getItem('zoom-client-key') || "";
|
||||||
API_SECRET = API_SECRET = localStorage.getItem('zoom-secret-key') || "";
|
SDK_SECRET = SDK_SECRET = localStorage.getItem('zoom-secret-key') || "";
|
||||||
|
|
||||||
var meetingConfig = testTool.getMeetingConfig();
|
var meetingConfig = testTool.getMeetingConfig();
|
||||||
if (!meetingConfig.mn || !meetingConfig.name) {
|
if (!meetingConfig.mn || !meetingConfig.name) {
|
||||||
@ -106,14 +106,14 @@ function websdkready() {
|
|||||||
data: {
|
data: {
|
||||||
'meet_number': meetingConfig.mn,
|
'meet_number': meetingConfig.mn,
|
||||||
'role_id': meetingConfig.role,
|
'role_id': meetingConfig.role,
|
||||||
'api_key': API_KEY,
|
'sdk_key': SDK_KEY,
|
||||||
'api_secret': API_SECRET
|
'sdk_secret': SDK_SECRET
|
||||||
},
|
},
|
||||||
url: SIGNATURE_SERVER
|
url: SIGNATURE_SERVER
|
||||||
|
|
||||||
}).success(function (oResponse) {
|
}).success(function (oResponse) {
|
||||||
meetingConfig.signature = oResponse;
|
meetingConfig.signature = oResponse;
|
||||||
meetingConfig.apiKey = API_KEY;
|
meetingConfig.sdkKey = SDK_KEY;
|
||||||
var joinUrl = document.location.protocol + "//" + document.location.host + document.location.pathname.replace("index_zoom.html", "meeting.html?") + testTool.serialize(meetingConfig);
|
var joinUrl = document.location.protocol + "//" + document.location.host + document.location.pathname.replace("index_zoom.html", "meeting.html?") + testTool.serialize(meetingConfig);
|
||||||
window.parent.openMeeting(joinUrl);
|
window.parent.openMeeting(joinUrl);
|
||||||
}).error(function(oResponse) {
|
}).error(function(oResponse) {
|
||||||
@ -132,26 +132,44 @@ function websdkready() {
|
|||||||
|
|
||||||
// click copy jon link button
|
// click copy jon link button
|
||||||
window.copyJoinLink = function (element) {
|
window.copyJoinLink = function (element) {
|
||||||
var meetingConfig = testTool.getMeetingConfig();
|
SDK_KEY = localStorage.getItem('zoom-client-key') || "";
|
||||||
if (!meetingConfig.mn || !meetingConfig.name) {
|
SDK_SECRET = SDK_SECRET = localStorage.getItem('zoom-secret-key') || "";
|
||||||
alert("Meeting number or username is empty");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
var signature = ZoomMtg.generateSignature({
|
|
||||||
meetingNumber: meetingConfig.mn,
|
|
||||||
apiKey: API_KEY,
|
|
||||||
apiSecret: API_SECRET,
|
|
||||||
role: meetingConfig.role,
|
|
||||||
success: function (res) {
|
|
||||||
console.log(res.result);
|
|
||||||
meetingConfig.signature = res.result;
|
|
||||||
meetingConfig.apiKey = API_KEY;
|
|
||||||
var joinUrl = document.location.protocol + "//" + document.location.host + document.location.pathname.replace("index_zoom.html", "meeting.html?") + testTool.serialize(meetingConfig);
|
|
||||||
document.getElementById('copy_link_value').setAttribute('link', joinUrl);
|
|
||||||
copyToClipboard('copy_link_value');
|
|
||||||
|
|
||||||
},
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
|
var meetingConfig = testTool.getMeetingConfig();
|
||||||
|
if (!meetingConfig.mn || !meetingConfig.name) {
|
||||||
|
alert("Meeting number or username is empty");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
localStorage.setItem($('#display_name').attr('data-id'), $('#display_name').val());
|
||||||
|
localStorage.setItem($('#display_name').attr('data-id'), $('#display_name').val())
|
||||||
|
if ($('#meeting_email').val().trim() !== "")
|
||||||
|
localStorage.setItem($('#meeting_email').attr('data-id'), $('#meeting_email').val());
|
||||||
|
localStorage.setItem($('#display_name').attr('data-id'), $('#display_name').val())
|
||||||
|
|
||||||
|
testTool.setCookie("meeting_number", meetingConfig.mn);
|
||||||
|
testTool.setCookie("meeting_pwd", meetingConfig.pwd);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
'meet_number': meetingConfig.mn,
|
||||||
|
'role_id': meetingConfig.role,
|
||||||
|
'sdk_key': SDK_KEY,
|
||||||
|
'sdk_secret': SDK_SECRET
|
||||||
|
},
|
||||||
|
url: SIGNATURE_SERVER
|
||||||
|
|
||||||
|
}).success(function (oResponse) {
|
||||||
|
meetingConfig.signature = oResponse;
|
||||||
|
meetingConfig.sdkKey = SDK_KEY;
|
||||||
|
var joinUrl = document.location.protocol + "//" + document.location.host + document.location.pathname.replace("index_zoom.html", "meeting.html?") + testTool.serialize(meetingConfig);
|
||||||
|
document.getElementById('copy_link_value').setAttribute('link', joinUrl);
|
||||||
|
copyToClipboard('copy_link_value');
|
||||||
|
alert('Copy link was copied to clipboard')
|
||||||
|
}).error(function(oResponse) {
|
||||||
|
console.log(oResponse)
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,13 +3,12 @@ window.addEventListener('DOMContentLoaded', function(event) {
|
|||||||
websdkready();
|
websdkready();
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("!!!");
|
|
||||||
function websdkready() {
|
function websdkready() {
|
||||||
var testTool = window.testTool;
|
var testTool = window.testTool;
|
||||||
// get meeting args from url
|
// get meeting args from url
|
||||||
var tmpArgs = testTool.parseQuery();
|
var tmpArgs = testTool.parseQuery();
|
||||||
var meetingConfig = {
|
var meetingConfig = {
|
||||||
apiKey: tmpArgs.apiKey,
|
sdkKey: tmpArgs.sdkKey,
|
||||||
meetingNumber: tmpArgs.mn,
|
meetingNumber: tmpArgs.mn,
|
||||||
userName: (function () {
|
userName: (function () {
|
||||||
if (tmpArgs.name) {
|
if (tmpArgs.name) {
|
||||||
@ -68,7 +67,7 @@ function websdkready() {
|
|||||||
meetingNumber: meetingConfig.meetingNumber,
|
meetingNumber: meetingConfig.meetingNumber,
|
||||||
userName: meetingConfig.userName,
|
userName: meetingConfig.userName,
|
||||||
signature: signature,
|
signature: signature,
|
||||||
apiKey: meetingConfig.apiKey,
|
sdkKey: meetingConfig.sdkKey,
|
||||||
userEmail: meetingConfig.userEmail,
|
userEmail: meetingConfig.userEmail,
|
||||||
passWord: meetingConfig.passWord,
|
passWord: meetingConfig.passWord,
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
@ -110,3 +109,6 @@ function websdkready() {
|
|||||||
|
|
||||||
beginJoin(meetingConfig.signature);
|
beginJoin(meetingConfig.signature);
|
||||||
};
|
};
|
||||||
|
window.onunload = function() {
|
||||||
|
document.exitFullscreen();
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user