Changed marketplace fot working inside plugin
81
.gitmodules
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
[submodule "store/submodels/plugin-macros"]
|
||||
path = store/submodels/plugin-macros
|
||||
url = https://github.com/ONLYOFFICE/plugin-macros.git
|
||||
[submodule "store/submodels/plugin-autocomplete"]
|
||||
path = store/submodels/plugin-autocomplete
|
||||
url = https://github.com/ONLYOFFICE/plugin-autocomplete.git
|
||||
[submodule "store/submodels/plugin-mendeley"]
|
||||
path = store/submodels/plugin-mendeley
|
||||
url = https://github.com/ONLYOFFICE/plugin-mendeley.git
|
||||
[submodule "store/submodels/plugin-ocr"]
|
||||
path = store/submodels/plugin-ocr
|
||||
url = https://github.com/ONLYOFFICE/plugin-ocr.git
|
||||
[submodule "store/submodels/plugin-youtube"]
|
||||
path = store/submodels/plugin-youtube
|
||||
url = https://github.com/ONLYOFFICE/plugin-youtube.git
|
||||
[submodule "store/submodels/plugin-translator"]
|
||||
path = store/submodels/plugin-translator
|
||||
url = https://github.com/ONLYOFFICE/plugin-translator.git
|
||||
[submodule "store/submodels/plugin-wordpress"]
|
||||
path = store/submodels/plugin-wordpress
|
||||
url = https://github.com/ONLYOFFICE/plugin-wordpress.git
|
||||
[submodule "store/submodels/plugin-highlightcode"]
|
||||
path = store/submodels/plugin-highlightcode
|
||||
url = https://github.com/ONLYOFFICE/plugin-highlightcode.git
|
||||
[submodule "store/submodels/plugin-easybib"]
|
||||
path = store/submodels/plugin-easybib
|
||||
url = https://github.com/ONLYOFFICE/plugin-easybib.git
|
||||
[submodule "store/submodels/plugin-thesaurus"]
|
||||
path = store/submodels/plugin-thesaurus
|
||||
url = https://github.com/ONLYOFFICE/plugin-thesaurus.git
|
||||
[submodule "store/submodels/plugin-photoeditor"]
|
||||
path = store/submodels/plugin-photoeditor
|
||||
url = https://github.com/ONLYOFFICE/plugin-photoeditor.git
|
||||
[submodule "store/submodels/plugin-zotero"]
|
||||
path = store/submodels/plugin-zotero
|
||||
url = https://github.com/ONLYOFFICE/plugin-zotero.git
|
||||
[submodule "store/submodels/plugin-speech"]
|
||||
path = store/submodels/plugin-speech
|
||||
url = https://github.com/ONLYOFFICE/plugin-speech.git
|
||||
[submodule "store/submodels/plugin-deepl"]
|
||||
path = store/submodels/plugin-deepl
|
||||
url = https://github.com/ONLYOFFICE/plugin-deepl.git
|
||||
[submodule "store/submodels/plugin-languagetool"]
|
||||
path = store/submodels/plugin-languagetool
|
||||
url = https://github.com/ONLYOFFICE/plugin-languagetool.git
|
||||
[submodule "store/submodels/plugin-glavred"]
|
||||
path = store/submodels/plugin-glavred
|
||||
url = https://github.com/ONLYOFFICE/plugin-glavred.git
|
||||
[submodule "store/submodels/plugin-telegram"]
|
||||
path = store/submodels/plugin-telegram
|
||||
url = https://github.com/ONLYOFFICE/plugin-telegram.git
|
||||
[submodule "store/submodels/plugin-rainbow"]
|
||||
path = store/submodels/plugin-rainbow
|
||||
url = https://github.com/ONLYOFFICE/plugin-rainbow.git
|
||||
[submodule "store/submodels/plugin-jitsi"]
|
||||
path = store/submodels/plugin-jitsi
|
||||
url = https://github.com/ONLYOFFICE/plugin-jitsi.git
|
||||
[submodule "store/submodels/plugin-wordscounter"]
|
||||
path = store/submodels/plugin-wordscounter
|
||||
url = https://github.com/ONLYOFFICE/plugin-wordscounter.git
|
||||
[submodule "store/submodels/plugin-drawio"]
|
||||
path = store/submodels/plugin-drawio
|
||||
url = https://github.com/ONLYOFFICE/plugin-drawio.git
|
||||
[submodule "store/submodels/plugin-html"]
|
||||
path = store/submodels/plugin-html
|
||||
url = https://github.com/ONLYOFFICE/plugin-html.git
|
||||
[submodule "store/submodels/plugin-apertium"]
|
||||
path = store/submodels/plugin-apertium
|
||||
url = https://github.com/ONLYOFFICE/plugin-apertium.git
|
||||
[submodule "store/submodels/plugin-typograf"]
|
||||
path = store/submodels/plugin-typograf
|
||||
url = https://github.com/ONLYOFFICE/plugin-typograf.git
|
||||
[submodule "store/submodels/plugin-grammalecte"]
|
||||
path = store/submodels/plugin-grammalecte
|
||||
url = https://github.com/ONLYOFFICE/plugin-grammalecte.git
|
||||
[submodule "store/submodels/plugin-doc2md"]
|
||||
path = store/submodels/plugin-doc2md
|
||||
url = https://github.com/ONLYOFFICE/plugin-doc2md.git
|
||||
[submodule "store/submodels/sdkjs-plugins"]
|
||||
path = store/submodels/sdkjs-plugins
|
||||
url = https://github.com/ONLYOFFICE/sdkjs-plugins.git
|
||||
@ -1,218 +1,56 @@
|
||||
{
|
||||
"A103601F-FDA0-418A-BC37-A514031894C0" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-autocomplete/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-autocomplete/master/"
|
||||
},
|
||||
"E6978D28-0441-4BD7-8346-82FAD68BCA3B" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-macros/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-macros/master/"
|
||||
},
|
||||
"BE5CBF95-C0AD-4842-B157-AC40FEDD9441" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-mendeley/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-mendeley/master/"
|
||||
},
|
||||
"440EBF13-9B19-4BD8-8621-05200E58140B" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-ocr/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-ocr/master/"
|
||||
},
|
||||
"38E022EA-AD92-45FC-B22B-49DF39746DB4" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-youtube/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-youtube/master/"
|
||||
},
|
||||
"7327FC95-16DA-41D9-9AF2-0E7F449F6800" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-translator/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-translator/master/"
|
||||
},
|
||||
"0847b6a4-b007-11e7-abc4-cec278b6b50a" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-wordpress/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-wordpress/master/"
|
||||
},
|
||||
"BE5CBF95-C0AD-4842-B157-AC40FEDD9841" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-highlightcode/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-highlightcode/master/"
|
||||
},
|
||||
"c9d216a5-4f1a-49f2-9ff0-67c510a73523" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-easybib/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-easybib/master/"
|
||||
},
|
||||
"BE5CBF95-C0AD-4842-B157-AC40FEDD9840" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-thesaurus/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-thesaurus/master/"
|
||||
},
|
||||
"07FD8DFA-DFE0-4089-AL24-0730933CC80A" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-photoeditor/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-photoeditor/master/"
|
||||
},
|
||||
"BFC5D5C6-89DE-4168-9565-ABD8D1E48711" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-zotero/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-zotero/master/"
|
||||
},
|
||||
"D71C2EF0-F15B-47C7-80E9-86D671F9C595" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-speech/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-speech/master/"
|
||||
},
|
||||
"b78a062b-e349-4634-8a44-99825600d299" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-deepl/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-deepl/master/"
|
||||
},
|
||||
"7CDB02C9-A0BF-4B56-9A1A-71C860B8498F" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-languagetool/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-languagetool/master/"
|
||||
},
|
||||
"B631E142-E40B-4B4C-90B9-2D00222A286E" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-glavred/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-glavred/master/"
|
||||
},
|
||||
"E5773A43-F9B3-4E81-81D9-CE0A132470E7" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-telegram/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-telegram/master/"
|
||||
},
|
||||
"0743b63f-cb32-438c-b46b-81ce182ff4f7" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-rainbow/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-rainbow/master/"
|
||||
},
|
||||
"7645D461-84BC-4FB0-A42C-98118C14A1CD" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-jitsi/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-jitsi/master/"
|
||||
},
|
||||
"584EEEE8-DBF5-45C3-A4CA-F52177C82754" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-wordscounter/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-wordscounter/master/"
|
||||
},
|
||||
"DB38923B-A8C0-4DE9-8AEE-A61BB5C901A5" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-drawio/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-drawio/master/"
|
||||
},
|
||||
"E581C417-3C80-4BC2-B42D-502850FDC1E7" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-html/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-html/master/"
|
||||
},
|
||||
"9b224050-2354-4c1b-822b-03a97f61c79d" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-apertium/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-apertium/master/"
|
||||
},
|
||||
"55159EC6-C91A-4DDB-8E1E-558454666461" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-typograf/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-typograf/master/"
|
||||
},
|
||||
"6ef67492-a111-4ca5-bd4f-bf02645afc61" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-grammalecte/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-grammalecte/master/"
|
||||
},
|
||||
"5aff455d-96c4-4bd8-9658-16e5bc143738" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-doc2md/master/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/plugin-doc2md/master/"
|
||||
},
|
||||
"FFE1F462-1EA2-4391-990D-4CC84940B754" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/chess/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/chess/"
|
||||
},
|
||||
"5C521CB8-FD20-4CA3-83D7-1EEB8F4DC759" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/clippy/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/clippy/"
|
||||
},
|
||||
"89643394-0F74-4297-9E0B-541A67F1E98C" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_add_comment_in_cell/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_add_comment_in_cell/"
|
||||
},
|
||||
"5F9D4EB4-AF61-46EF-AE25-46C96E75E1DD" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/cbr/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/cbr/"
|
||||
},
|
||||
"CD4E451C-6928-43A4-B641-ECBBF688AC76" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_add_content_controls/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_add_content_controls/"
|
||||
},
|
||||
"111735E0-69A7-4D4A-9ABE-F58FD70F488D" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_controls/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_controls/"
|
||||
},
|
||||
"C05D81BC-92C7-4C48-BA49-E8B9AAFCD776" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_custom_fields_add_2/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_custom_fields_add_2/"
|
||||
},
|
||||
"4E2B5030-E1BE-41FA-BEE3-7E9BE7B5BFCF" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_customfields_add/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_customfields_add/"
|
||||
},
|
||||
"E5A81B17-C871-4C4B-A90A-62D3A7EC0751" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_customfields_load/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_customfields_load/"
|
||||
},
|
||||
"91EAC419-EF8B-440C-A960-B451C7DF3A37" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_extended_comments/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_extended_comments/"
|
||||
},
|
||||
"7CC733B1-9B26-4977-926E-D212B13F2B70" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_insert_content_and_document/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_insert_content_and_document/"
|
||||
},
|
||||
"EF5735E0-69A7-4D4A-9ABE-F58FD70F488D" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_move_cursor/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_move_cursor/"
|
||||
},
|
||||
"EF5735E0-69A7-4D4A-9ABE-F58FD70F488J" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_search_and_change_text_background_color/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_search_and_change_text_background_color/"
|
||||
},
|
||||
"5FF5F75F-2977-4B98-8D36-7C406D610B90" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_search_replace/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_search_replace/"
|
||||
},
|
||||
"F30BDD79-23A0-4B05-8DE3-2AB77D03A1B4" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_speech_input/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_speech_input/"
|
||||
},
|
||||
"267D986E-C41D-4E3E-BA4D-54AA6CB952EF" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls/"
|
||||
},
|
||||
"639E69BC-58DE-4029-9B43-F0420F67E6F9" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_combo/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_combo/"
|
||||
},
|
||||
"C9945AC2-8275-4F9B-92E4-CA1104D7305B" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_content/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_content/"
|
||||
},
|
||||
"C36DDFB5-08F0-4A68-B829-5FB1F7D49728" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_navigation/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_navigation/"
|
||||
},
|
||||
"C36DDFB5-08F0-4A68-B829-5FB1F7D49331" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_tags/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_tags/"
|
||||
},
|
||||
"A8705DEE-7544-4C33-B3D5-168406D92F72" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/externallistener/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/externallistener/"
|
||||
},
|
||||
"0616AE85-5DBE-4B6B-A0A9-455C4F1503AD" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/helloworld/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/helloworld/"
|
||||
},
|
||||
"6B6715E5-A558-4F70-8058-40704CD659CF" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/invoices/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/invoices/"
|
||||
},
|
||||
"902F74A4-89F2-4028-8DB0-BD913E07335C" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/num2word/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/num2word/"
|
||||
},
|
||||
"C820F3CC-1248-4CA2-8D0F-D7EFD44DE09C" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/searchAndReplaceOnStart/config.json",
|
||||
"imageUrl" : ""
|
||||
},
|
||||
"CF3A000F-C6B4-451D-AC0B-F3DDAB1880D2" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/settings/config.json",
|
||||
"imageUrl" : ""
|
||||
},
|
||||
"03C18A8D-8E01-444A-86EB-EDDFA7773157" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/symboltable/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/symboltable/"
|
||||
},
|
||||
"94DF0B57-299D-4F68-AF6F-9A6BB53F3031" : {
|
||||
"configUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/templates/config.json",
|
||||
"imageUrl" : "https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/templates/"
|
||||
}
|
||||
}
|
||||
[
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-autocomplete/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-macros/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-mendeley/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-ocr/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-youtube/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-translator/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-wordpress/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-highlightcode/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-easybib/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-thesaurus/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-photoeditor/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-zotero/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-speech/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-deepl/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-languagetool/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-glavred/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-telegram/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-rainbow/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-jitsi/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-wordscounter/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-drawio/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-html/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-apertium/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-typograf/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-grammalecte/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/plugin-doc2md/master/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/chess/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/clippy/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_add_comment_in_cell/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/cbr/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_add_content_controls/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_controls/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_custom_fields_add_2/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_customfields_add/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_customfields_load/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_extended_comments/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_insert_content_and_document/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_move_cursor/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_search_and_change_text_background_color/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_search_replace/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_speech_input/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_combo/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_content/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_navigation/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/example_work_with_content_controls_tags/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/externallistener/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/helloworld/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/invoices/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/num2word/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/searchAndReplaceOnStart/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/settings/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/symboltable/config.json",
|
||||
"https://raw.githubusercontent.com/ONLYOFFICE/sdkjs-plugins/master/templates/config.json"
|
||||
]
|
||||
@ -26,24 +26,26 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="div_header" class="header noselect hidden">
|
||||
<span id="arrow" class="arrow hidden">←</span>
|
||||
<!-- <span id="arrow" class="arrow hidden">←</span> -->
|
||||
<label id="lbl_header" class="aboutlable header">Manage plugins</label>
|
||||
<span id="close" class="close">×</span>
|
||||
</div>
|
||||
<div id="div_body" class="div_body hidden">
|
||||
<div id="toolbar" class="toolbar noselect">
|
||||
<div class="toolbar_buttons">
|
||||
<button id="btn_myPlugins" class="btn-text-default">My plugins</button>
|
||||
<button id="btn_marketplace" class="btn-text-default btn_selected">Marketplace</button>
|
||||
<button id="btn_myPlugins" class="btn_menu btn-text-default">My plugins</button>
|
||||
<button id="btn_marketplace" class="btn_menu btn-text-default submit primary">Marketplace</button>
|
||||
</div>
|
||||
<div class="toolbar_link">
|
||||
<!-- TODO подумать над тем, как открывать форму для загрузки -->
|
||||
<a id="link_newPlugin" class="aboutlink link_submit" target="blank" href="https://htmldom.dev/make-a-resizable-element/">Submit your own plugin</a>
|
||||
<a id="link_newPlugin" class="aboutlink link_submit" target="blank" href="https://github.com/ONLYOFFICE/onlyoffice.github.io/pulls">Submit your own plugin</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="div_main" class="main_content noselect"></div>
|
||||
</div>
|
||||
<div id="div_selected_toolbar" class="div_selected_toolbar hidden">
|
||||
<!-- временно пока сюда добавил стрелку, чтобы назад можно было вернуться -->
|
||||
<span id="arrow" class="arrow hidden">←</span>
|
||||
<!-- временно поставил такие размеры картинки 56 (чтобы выглядело симминтрично пока) -->
|
||||
<div style="width:56px">
|
||||
<img id="img_icon" style="height:56px">
|
||||
@ -55,9 +57,9 @@
|
||||
<span id="span_offered"></span>
|
||||
</div>
|
||||
<div>
|
||||
<button id="btn_update" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, event.target.innerText)">Update</button>
|
||||
<button id="btn_remove" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, event.target.innerText)">Remove</button>
|
||||
<button id="btn_install" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, event.target.innerText)">Install</button>
|
||||
<button id="btn_update" class="btn-text-default btn_preview" onclick="onClickUpdate(event.target)">Update</button>
|
||||
<button id="btn_remove" class="btn-text-default btn_preview" onclick="onClickRemove(event.target.parentNode)">Remove</button>
|
||||
<button id="btn_install" class="btn-text-default btn_preview" onclick="onClickInstall(event.target.parentNode)">Install</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -99,6 +101,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="loader-container" class="asc-loader-container div_loader"></div>
|
||||
<div id="div_error" class="error_main hidden"><div class="loader_background"></div></div>
|
||||
<div id="loader-container" class="asc-loader-container div_loader"><div class="loader_background"></div></div>
|
||||
</body>
|
||||
</html>
|
||||
@ -19,9 +19,9 @@ button {
|
||||
|
||||
div.header {
|
||||
background: #d8dadc;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
border-bottom: solid var(--scaled-one-pixel, 1px) #4444;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
border-bottom: solid var(--scaled-one-pixel, 1px) #4444;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@ -30,9 +30,8 @@ label.header {
|
||||
font-size: 14px !important;
|
||||
}
|
||||
|
||||
.btn_selected {
|
||||
color: #fff;
|
||||
background-color: #7d858c
|
||||
.btn_menu {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
.div-loader {
|
||||
@ -45,9 +44,9 @@ label.header {
|
||||
|
||||
.close {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
font-size: 25px;
|
||||
opacity: 0.7;
|
||||
right: 10px;
|
||||
font-size: 25px;
|
||||
opacity: 0.7;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@ -57,9 +56,10 @@ label.header {
|
||||
|
||||
.arrow {
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
font-size: 20px;
|
||||
opacity: 0.7;
|
||||
/* left: 10px; */
|
||||
top: 0;
|
||||
font-size: 20px;
|
||||
opacity: 0.7;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@ -69,13 +69,13 @@ label.header {
|
||||
|
||||
.toolbar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 20px 15px;
|
||||
justify-content: space-between;
|
||||
margin: 20px 15px;
|
||||
}
|
||||
|
||||
.toolbar_link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
align-items: center;
|
||||
margin-right: 5px;
|
||||
font-size: 13px;
|
||||
}
|
||||
@ -113,9 +113,9 @@ label.header {
|
||||
}
|
||||
.div_image {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: rgb(52,126,232);
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: rgb(52,126,232);
|
||||
cursor: pointer;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
@ -127,28 +127,49 @@ label.header {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.div_footer {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
flex-flow: column;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
flex-flow: column;
|
||||
}
|
||||
.btn_install {
|
||||
margin: 0px 10px 10px;;
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
.btn_preview {
|
||||
margin: 10px 0px 10px 10px;
|
||||
width: fit-content;
|
||||
margin: 10px 0px 10px 10px;
|
||||
width: fit-content;
|
||||
}
|
||||
.div_loader {
|
||||
margin: 10px;
|
||||
height: 40px;
|
||||
/* margin: 10px;
|
||||
top: 50%;
|
||||
right: 50%;
|
||||
right: 50%; */
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute !important;
|
||||
}
|
||||
|
||||
.div_notification {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.span_notification {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.loader_background {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #adadad;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.asc-loader-title {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.div_body {
|
||||
/* border: 1px solid red; */
|
||||
height: 100%;
|
||||
@ -159,26 +180,13 @@ label.header {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
|
||||
.link_submit {
|
||||
color : #445799 !important;
|
||||
}
|
||||
|
||||
.link_submit:hover {
|
||||
color : #445799 !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.link_submit:active {
|
||||
color : #445799 !important;
|
||||
}
|
||||
|
||||
.link_submit:visited {
|
||||
color : #445799 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.link_info {
|
||||
border-bottom: 1px solid;
|
||||
text-decoration: none !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
@ -239,10 +247,24 @@ label.header {
|
||||
|
||||
.span_update {
|
||||
align-self: flex-end;
|
||||
background-color: #06a10d;
|
||||
color: white;
|
||||
padding: 1px 5px;
|
||||
border: 1px solid #06a10d;
|
||||
border-radius: 12px;
|
||||
margin: 10px;
|
||||
background-color: #06a10d;
|
||||
color: white;
|
||||
padding: 1px 5px;
|
||||
border: 1px solid #06a10d;
|
||||
border-radius: 12px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.error_main {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.error_caption {
|
||||
font-size: 15px;
|
||||
color: red;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 486 KiB After Width: | Height: | Size: 486 KiB |
|
Before Width: | Height: | Size: 381 KiB After Width: | Height: | Size: 381 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 174 KiB After Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 608 KiB After Width: | Height: | Size: 608 KiB |
|
Before Width: | Height: | Size: 438 KiB After Width: | Height: | Size: 438 KiB |
|
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 161 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@ -16,19 +16,19 @@
|
||||
*
|
||||
*/
|
||||
|
||||
// todo ссылки при install/update поправить
|
||||
let allPlugins; // list of all plugins from config
|
||||
let installedPlugins; // list of intalled plugins
|
||||
const configUrl = './config.json'; // url to config.json
|
||||
const elements = {}; // all elements
|
||||
const isDesctop = true; // window.AscDesktopEditor !== undefined;
|
||||
let isLoading = false; // flag loading
|
||||
let loader; // loader
|
||||
var Ps; // perfect scrollbar
|
||||
const lang = detectLanguage() || "en-EN"; // current language
|
||||
const shorLang = lang.split('-')[0]; // short language
|
||||
let bTranslate = false; // flag translate or not
|
||||
let translate = // translations for current language
|
||||
let allPlugins; // list of all plugins from config
|
||||
let installedPlugins; // list of intalled plugins
|
||||
const configUrl = './config.json'; // url to config.json
|
||||
const elements = {}; // all elements
|
||||
const isDesctop = window.AscDesktopEditor !== undefined; // desctop detecting
|
||||
let isLoading = false; // flag loading
|
||||
let loader; // loader
|
||||
var Ps; // perfect scrollbar
|
||||
let theme = parent.localStorage.getItem('ui-theme-id') || ''; // current theme
|
||||
const lang = detectLanguage() || "en-EN"; // current language
|
||||
const shortLang = lang.split('-')[0]; // short language
|
||||
let bTranslate = false; // flag translate or not
|
||||
let translate = // translations for current language
|
||||
{
|
||||
"My plugins": "My plugins",
|
||||
"Marketplace": "Marketplace",
|
||||
@ -48,17 +48,33 @@ let translate = // translations for current language
|
||||
"with the plugin functionality on our forum." : "with the plugin functionality on our forum.",
|
||||
"Create a new plugin using" : "Create a new plugin using"
|
||||
}
|
||||
//it's necessary because we show loader before all (and getting translations too)
|
||||
switch (shortLang) {
|
||||
case 'ru':
|
||||
translate["Loading"] = "Загрузка"
|
||||
break;
|
||||
case 'fr':
|
||||
translate["Loading"] = "Chargement"
|
||||
break;
|
||||
case 'es':
|
||||
translate["Loading"] = "Carga"
|
||||
break;
|
||||
case 'de':
|
||||
translate["Loading"] = "Laden"
|
||||
break;
|
||||
case 'cs':
|
||||
translate["Loading"] = "Načítání"
|
||||
break;
|
||||
}
|
||||
// for making preview
|
||||
let counter = 0;
|
||||
let row;
|
||||
let theme;
|
||||
|
||||
// TODO решить проблему с темой и добавить для неё разные стили (после интеграции можно будет попробовать прокинуть событие смены темы)
|
||||
// в теории её можно достать из parent.localStorage.getItem('ui-theme-id')
|
||||
// TODO для того, чтобы лоадер работал нормально нужно создать такой объект (так как он из него берет информацию о теме)
|
||||
window.Asc = {
|
||||
plugin : {
|
||||
theme : {
|
||||
type : 'light'
|
||||
type : JSON.parse(parent.localStorage.getItem('ui-theme')).type
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -68,49 +84,43 @@ getTranslation();
|
||||
// fetch all plugins from config
|
||||
fetchAllPlugins();
|
||||
// get all installed plugins
|
||||
sendMessage({type : 'getInstalled'}, '*');
|
||||
detectLanguage();
|
||||
setTimeout(function(){
|
||||
// для того, чтобы плагин успел запуститься и не слать кучу сообщений для временного решения
|
||||
sendMessage({type : 'getInstalled'}, '*');
|
||||
}, 500);
|
||||
|
||||
window.onload = function() {
|
||||
// detect theme (this is not currently in use)
|
||||
theme = parent.localStorage.getItem('ui-theme-id') || '';
|
||||
console.log('detected theme: ' + theme);
|
||||
// init element
|
||||
initElemnts();
|
||||
|
||||
if (shorLang == "en") {
|
||||
if (shortLang == "en") {
|
||||
// if nothing to translate
|
||||
showMarketplace();
|
||||
}
|
||||
|
||||
elements.btnMyPlugins.onclick = function() {
|
||||
// click on my plugins button
|
||||
if ( !this.classList.contains('btn_selected') ) {
|
||||
elements.btnMarketplace.classList.remove('btn_selected');
|
||||
this.classList.add('btn_selected');
|
||||
if ( !this.classList.contains('primary') ) {
|
||||
elements.btnMarketplace.classList.remove('submit','primary');
|
||||
this.classList.add('submit','primary');
|
||||
elements.linkNewPlugin.innerHTML = translate["Install plugin manually"];
|
||||
elements.divMain.innerHTML = "";
|
||||
counter = 0;
|
||||
installedPlugins.forEach(function(el) {
|
||||
createPluginDiv(el.guid);
|
||||
});
|
||||
showListofPlugins(false);
|
||||
}
|
||||
};
|
||||
|
||||
elements.btnMarketplace.onclick = function() {
|
||||
// click on marketplace button
|
||||
if ( !this.classList.contains('primary') ) {
|
||||
elements.btnMyPlugins.classList.remove('btn_selected');
|
||||
this.classList.add('btn_selected');
|
||||
elements.btnMyPlugins.classList.remove('submit','primary');
|
||||
this.classList.add('submit','primary');
|
||||
elements.linkNewPlugin.innerHTML = translate["Submit your own plugin"];
|
||||
elements.divMain.innerHTML = "";
|
||||
for (const guid in allPlugins) {
|
||||
createPluginDiv(guid);
|
||||
}
|
||||
showListofPlugins(true);
|
||||
}
|
||||
};
|
||||
|
||||
elements.arrow.onclick = function() {
|
||||
// click on left arrow in preview mode
|
||||
document.getElementById('span_overview').click();
|
||||
elements.divSelected.classList.add('hidden');
|
||||
elements.divSelectedMain.classList.add('hidden');
|
||||
elements.divBody.classList.remove('hidden');
|
||||
@ -124,22 +134,96 @@ window.onload = function() {
|
||||
};
|
||||
|
||||
if (isLoading) {
|
||||
toogleLoader(true);
|
||||
toogleLoader(true, "Loading");
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('message', function(event) {
|
||||
// get message from editors
|
||||
switch (event.data.type) {
|
||||
case 'installed':
|
||||
installedPlugins = event.data.data;
|
||||
window.addEventListener('message', function(message) {
|
||||
// getting messages from editor
|
||||
message = JSON.parse(message.data);
|
||||
switch (message.type) {
|
||||
case 'InstalledPlugins':
|
||||
installedPlugins = message.data;
|
||||
if (allPlugins)
|
||||
getAllPluginsData();
|
||||
break;
|
||||
|
||||
default:
|
||||
case 'Installed':
|
||||
let plugin = allPlugins.find(function(el){ return el.guid === message.guid});
|
||||
installedPlugins.push(
|
||||
{
|
||||
url: plugin.url,
|
||||
guid: message.guid,
|
||||
canRemoved: true,
|
||||
obj: plugin
|
||||
}
|
||||
);
|
||||
|
||||
if (elements.btnMarketplace.classList.contains('primary')) {
|
||||
let btn = this.document.getElementById(message.guid).lastChild.lastChild;
|
||||
btn.innerHTML = translate['Remove'];
|
||||
btn.onclick = function(e) {
|
||||
onClickRemove(e.target);
|
||||
};
|
||||
}
|
||||
|
||||
if (!elements.divSelected.classList.contains('hidden')) {
|
||||
this.document.getElementById('btn_install').classList.add('hidden');
|
||||
this.document.getElementById('btn_remove').classList.remove('hidden');
|
||||
}
|
||||
|
||||
toogleLoader(false);
|
||||
break;
|
||||
}
|
||||
case 'Updated':
|
||||
let installed = installedPlugins.find(function(el) {
|
||||
return (el.guid == message.guid);
|
||||
});
|
||||
let config = allPlugins.find(function(el){ return el.guid === message.guid});
|
||||
|
||||
installed.obj.version = config.version;
|
||||
|
||||
if (!elements.divSelected.classList.contains('hidden')) {
|
||||
this.document.getElementById('btn_update').classList.add('hidden');
|
||||
}
|
||||
|
||||
this.document.getElementById(message.guid).lastChild.firstChild.remove();
|
||||
toogleLoader(false);
|
||||
break;
|
||||
case 'Removed':
|
||||
installedPlugins = installedPlugins.filter(function(el){return el.guid !== message.guid});
|
||||
|
||||
if (elements.btnMyPlugins.classList.contains('primary')) {
|
||||
showListofPlugins(false);
|
||||
} else {
|
||||
let btn = this.document.getElementById(message.guid).lastChild.lastChild;
|
||||
btn.innerHTML = translate['Install'];
|
||||
btn.onclick = function(e) {
|
||||
onClickInstall(e.target);
|
||||
};
|
||||
if (btn.parentNode.childElementCount > 1) {
|
||||
btn.parentNode.firstChild.remove();
|
||||
}
|
||||
}
|
||||
|
||||
if (!elements.divSelected.classList.contains('hidden')) {
|
||||
this.document.getElementById('btn_remove').classList.add('hidden');
|
||||
this.document.getElementById('btn_install').classList.remove('hidden');
|
||||
this.document.getElementById('btn_update').classList.add('hidden');
|
||||
}
|
||||
|
||||
toogleLoader(false);
|
||||
break;
|
||||
case 'Error':
|
||||
createError(message.error);
|
||||
toogleLoader(false);
|
||||
break;
|
||||
case 'Theme':
|
||||
let rule = '\n.asc-plugin-loader{background-color:' + message.theme['background-normal'] +';padding: 10px;display: flex;justify-content: center;align-items: center;border-radius: 5px;}';
|
||||
let styleTheme = document.createElement('style');
|
||||
styleTheme.type = 'text/css';
|
||||
styleTheme.innerHTML = message.style + rule;
|
||||
document.getElementsByTagName('head')[0].appendChild(styleTheme);
|
||||
break;
|
||||
};
|
||||
}, false);
|
||||
|
||||
function fetchAllPlugins() {
|
||||
@ -151,9 +235,9 @@ function fetchAllPlugins() {
|
||||
getAllPluginsData();
|
||||
},
|
||||
function(err) {
|
||||
//TODO make error preview
|
||||
console.error(err);
|
||||
createError(err);
|
||||
isLoading = false;
|
||||
toogleLoader(false);
|
||||
}
|
||||
);
|
||||
};
|
||||
@ -170,11 +254,13 @@ function makeRequest(url) {
|
||||
if (this.readyState == 4) {
|
||||
if (this.status == 200 || location.href.indexOf("file:") == 0) {
|
||||
setTimeout(() => {
|
||||
resolve(this.response);
|
||||
|
||||
}, 1000);
|
||||
resolve(this.response);
|
||||
}, 500);
|
||||
// resolve(this.response);
|
||||
}
|
||||
if (this.status >= 400) {
|
||||
reject(new Error(this.response));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -192,7 +278,7 @@ function sendMessage(message) {
|
||||
};
|
||||
|
||||
function detectLanguage() {
|
||||
// TODO в теории язык можно вытащить из parent.location.search
|
||||
// this function detects current language
|
||||
if (parent.location && parent.location.search) {
|
||||
let _langSearch = parent.location.search;
|
||||
let _pos1 = _langSearch.indexOf("lang=");
|
||||
@ -235,71 +321,105 @@ function initElemnts() {
|
||||
elements.linkPlugin = document.getElementById('link_plugin');
|
||||
};
|
||||
|
||||
function toogleLoader(show) {
|
||||
function toogleLoader(show, text) {
|
||||
// show or hide loader
|
||||
if (!show) {
|
||||
document.getElementById('loader-container').classList.add('hidden');
|
||||
loader && (loader.remove ? loader.remove() : $('#loader-container')[0].removeChild(loader));
|
||||
loader = undefined;
|
||||
} else if(!loader) {
|
||||
document.getElementById('loader-container').classList.remove('hidden');
|
||||
loader && (loader.remove ? loader.remove() : $('#loader-container')[0].removeChild(loader));
|
||||
loader = showLoader($('#loader-container')[0], 'Loading...');
|
||||
loader = showLoader($('#loader-container')[0], (translate[text] || text) + '...');
|
||||
}
|
||||
};
|
||||
|
||||
function getAllPluginsData() {
|
||||
for (const guid in allPlugins) {
|
||||
const cur = allPlugins[guid];
|
||||
let pluginUrl = allPlugins[guid].configUrl;
|
||||
// get config file for each item in config.json
|
||||
let counter = 0;
|
||||
allPlugins.forEach(function(pluginUrl, i, arr) {
|
||||
counter++;
|
||||
makeRequest(pluginUrl).then(
|
||||
function(response) {
|
||||
counter--;
|
||||
let config = JSON.parse(response);
|
||||
let guid = config.guid.substring(5, 41);
|
||||
allPlugins[guid].config = config;
|
||||
createPluginDiv(guid);
|
||||
Ps.update();
|
||||
isLoading = false;
|
||||
toogleLoader(false)
|
||||
config.url = pluginUrl;
|
||||
arr[i] = config;
|
||||
// Ps.update();
|
||||
if (!counter) {
|
||||
isLoading = false;
|
||||
showListofPlugins(true);
|
||||
toogleLoader(false);
|
||||
}
|
||||
},
|
||||
function(err) {
|
||||
//TODO make error preview
|
||||
console.error(err);
|
||||
isLoading = false;
|
||||
toogleLoader(false);
|
||||
// TODO решить проблему, если не получили конфиг, чтобы у нас не было лишних (пустых элементов)
|
||||
createError(err);
|
||||
if (!counter) {
|
||||
isLoading = false;
|
||||
showListofPlugins(true);
|
||||
toogleLoader(false);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
})
|
||||
Ps = new PerfectScrollbar('#' + "div_main", {});
|
||||
};
|
||||
|
||||
function showListofPlugins(bAll) {
|
||||
// show list of plugins
|
||||
elements.divMain.innerHTML = "";
|
||||
counter = 0;
|
||||
if (bAll) {
|
||||
// show all plugins
|
||||
allPlugins.forEach(function(plugin) {
|
||||
if (plugin)
|
||||
createPluginDiv(plugin, false);
|
||||
});
|
||||
} else if (installedPlugins.length) {
|
||||
// show only installed
|
||||
// TODO подумать над тем, что если в списке установленных есть плагин, которого нет в маркетплейсе
|
||||
installedPlugins.forEach(function(plugin) {
|
||||
createPluginDiv(plugin, true);
|
||||
});
|
||||
} else {
|
||||
// if no istalled plugins and my plugins button was clicked
|
||||
createNotification('No plugins istalled.');
|
||||
}
|
||||
|
||||
function createPluginDiv(guid) {
|
||||
// TODO добавить надпись что плагинов установленных нет
|
||||
}
|
||||
|
||||
function createPluginDiv(plugin, bInstalled) {
|
||||
// this function creates div (preview) for plugins
|
||||
// TODO может сделать динамическое количество элементов в одной строке
|
||||
if (counter <= 0 || counter >= 4) {
|
||||
row = document.createElement('div');
|
||||
row.className = "div_row"
|
||||
document.getElementById('div_main').append(row);
|
||||
elements.divMain.append(row);
|
||||
counter = 1;
|
||||
}
|
||||
|
||||
let div = document.createElement('div');
|
||||
div.setAttribute('data-guid', guid);
|
||||
div.id = plugin.guid;
|
||||
div.setAttribute('data-guid', plugin.guid);
|
||||
div.className = 'div_item';
|
||||
let installed = installedPlugins.find(function(el) {
|
||||
return (el.guid == guid);
|
||||
});
|
||||
|
||||
let installed = bInstalled ? plugin : installedPlugins.find( function(el) { return (el.guid == plugin.guid); } );
|
||||
let bHasUpdate = false;
|
||||
if (isDesctop && installed) {
|
||||
let installedV = installed.obj.version.split('.').join('');
|
||||
let lastV = allPlugins[guid].config.version.split('.').join('');
|
||||
const installedV = (installed.obj.version ? installed.obj.version.split('.').join('') : 1);
|
||||
const lastV = (plugin.version ? plugin.version.split('.').join('') : installedV);
|
||||
if (lastV > installedV)
|
||||
bHasUpdate = true;
|
||||
}
|
||||
|
||||
let imageUrl = allPlugins[guid].imageUrl;
|
||||
let variations = allPlugins[guid].config.variations[0];
|
||||
// TODO либо в getInstalled возвращать ещё и url или делать такой поиск для картинки
|
||||
if (bInstalled)
|
||||
plugin = allPlugins.find(function(el){
|
||||
return el.guid === plugin.guid
|
||||
});
|
||||
if (!plugin) return;
|
||||
let imageUrl = plugin.url.replace('config.json','');
|
||||
let variations = plugin.variations[0];
|
||||
// TODO решить вопрос со scale, чтобы выбирать нужную иконку
|
||||
if (variations.icons2) {
|
||||
//
|
||||
@ -318,8 +438,8 @@ function createPluginDiv(guid) {
|
||||
imageUrl = "./resources/img/defaults/light/icon@2x.png"
|
||||
}
|
||||
// TODO подумать от куда брать цвет на фон под картинку (может в config добавить)
|
||||
let name = (bTranslate && allPlugins[guid].config.nameLocale) ? allPlugins[guid].config.nameLocale[shorLang] : allPlugins[guid].config.name;
|
||||
let description = (bTranslate && variations.descriptionLocale) ? variations.descriptionLocale[shorLang] : variations.description;
|
||||
let name = (bTranslate && plugin.nameLocale) ? plugin.nameLocale[shortLang] : plugin.name;
|
||||
let description = (bTranslate && variations.descriptionLocale) ? variations.descriptionLocale[shortLang] : variations.description;
|
||||
let template = '<div class="div_image" onclick="onClickItem(event.target)">' +
|
||||
// временно поставил такие размеры картинки (чтобы выглядело симминтрично пока)
|
||||
'<img style="width:56px;" src="' + imageUrl + '">' +
|
||||
@ -334,8 +454,8 @@ function createPluginDiv(guid) {
|
||||
: ''
|
||||
)+''+
|
||||
(installed
|
||||
? (installed.canRemoved ? '<button class="btn-text-default btn_install" onclick="onClickItemButton(event.target, event.target.innerText)">' + translate["Remove"] + '</button>' : '<div style="height:20px"></div>')
|
||||
: '<button class="btn-text-default btn_install" onclick="onClickItemButton(event.target, event.target.innerText)">' + translate["Install"] + '</button>'
|
||||
? (installed.canRemoved ? '<button class="btn-text-default btn_install" onclick="onClickRemove(event.target)">' + translate["Remove"] + '</button>' : '<div style="height:20px"></div>')
|
||||
: '<button class="btn-text-default btn_install" onclick="onClickInstall(event.target)">' + translate["Install"] + '</button>'
|
||||
)
|
||||
+
|
||||
'</div>';
|
||||
@ -345,40 +465,49 @@ function createPluginDiv(guid) {
|
||||
Ps.update();
|
||||
};
|
||||
|
||||
function onClickItemButton(target, type) {
|
||||
// click on install/remove button
|
||||
function onClickInstall(target) {
|
||||
// click install button
|
||||
toogleLoader(true, "Installation");
|
||||
let guid = target.parentNode.parentNode.getAttribute('data-guid');
|
||||
let message;
|
||||
let confUrl = allPlugins[guid].configUrl.replace('raw.githubusercontent', 'github');
|
||||
switch (type) {
|
||||
case 'Install':
|
||||
message = {
|
||||
type : 'install',
|
||||
url : confUrl.replace('master', 'blob/master')
|
||||
};
|
||||
break;
|
||||
case 'Update':
|
||||
message = {
|
||||
type : 'update',
|
||||
url : confUrl.replace('master', 'blob/master')
|
||||
};
|
||||
break;
|
||||
case 'Remove':
|
||||
message = {
|
||||
type : 'remove',
|
||||
guid: guid
|
||||
};
|
||||
break;
|
||||
}
|
||||
let plugin = allPlugins.find( function(el) { return el.guid === guid; } );
|
||||
let message = {
|
||||
type : 'install',
|
||||
url : plugin.url, //replace('raw.githubusercontent', 'github').replace('master', 'blob/master'),
|
||||
guid : guid,
|
||||
config : plugin
|
||||
};
|
||||
sendMessage(message);
|
||||
};
|
||||
|
||||
// TODO наверно хотелось бы получать сообщения о том успешно ли прошел процесс установки/удаления/лбновления (чтобы уже в этом окне отобразить изменения)
|
||||
function onClickUpdate(target) {
|
||||
// click update button
|
||||
toogleLoader(true, "Updating");
|
||||
let guid = target.parentElement.parentElement.parentElement.getAttribute('data-guid');
|
||||
let plugin = allPlugins.find( function(el) { return el.guid === guid; } );
|
||||
let message = {
|
||||
type : 'update',
|
||||
url : plugin.url,
|
||||
guid : guid,
|
||||
config : plugin
|
||||
};
|
||||
sendMessage(message);
|
||||
};
|
||||
|
||||
function onClickRemove(target) {
|
||||
// click remove button
|
||||
toogleLoader(true, "Removal");
|
||||
let guid = target.parentNode.parentNode.getAttribute('data-guid');
|
||||
let message = {
|
||||
type : 'remove',
|
||||
guid : guid
|
||||
};
|
||||
sendMessage(message);
|
||||
};
|
||||
|
||||
function onClickItem(target) {
|
||||
// There we will make preview for selected plugin
|
||||
// TODO продумать где брать offered by и где брать текс для этого блока (может из конфига) (так же переводы для него надо добавить)
|
||||
let offered = "TESTdsadasddasdasdasdasdas";
|
||||
let offered = " Ascensio System SIA";
|
||||
let description = "Correct French grammar and typography. The plugin uses Grammalecte, an open-source grammar and typographic corrector dedicated to the French language.Correct French grammar and typography."
|
||||
|
||||
elements.divSelected.classList.remove('hidden');
|
||||
@ -393,16 +522,19 @@ function onClickItem(target) {
|
||||
let installed = installedPlugins.find(function(el) {
|
||||
return (el.guid == guid);
|
||||
});
|
||||
let plugin = allPlugins.find(function(el) {
|
||||
return (el.guid == guid);
|
||||
});
|
||||
|
||||
let bHasUpdate = false;
|
||||
if (isDesctop && installed) {
|
||||
let installedV = installed.obj.version.split('.').join('');
|
||||
let lastV = allPlugins[guid].config.version.split('.').join('');
|
||||
let lastV = plugin.version.split('.').join('');
|
||||
if (lastV > installedV)
|
||||
bHasUpdate = true;
|
||||
}
|
||||
let confUrl = allPlugins[guid].configUrl.replace('raw.githubusercontent', 'github');
|
||||
let pluginUrl = (allPlugins[guid].configUrl.includes('sdkjs-plugins') ? confUrl.replace('master', 'tree/master').replace('config.json', '') : confUrl.replace('master/config.json', ''));
|
||||
let confUrl = plugin.url.replace('raw.githubusercontent', 'github');
|
||||
let pluginUrl = (plugin.url.includes('sdkjs-plugins') ? confUrl.replace('master', 'tree/master').replace('config.json', '') : confUrl.replace('master/config.json', ''));
|
||||
// TODO проблема с тем, что в некоторых иконках плагинов есть отступ сверху, а в некоторых его нет (исходя их этого нужен разный отступ у span справа, чтобы верхние края совпадали)
|
||||
elements.divSelected.setAttribute('data-guid', guid);
|
||||
elements.imgIcon.setAttribute('src', target.children[0].src);
|
||||
@ -429,7 +561,7 @@ function onClickItem(target) {
|
||||
elements.btnInstall.classList.remove('hidden');
|
||||
}
|
||||
|
||||
if (allPlugins[guid].config.variations[0].isVisual) {
|
||||
if (plugin.variations[0].isVisual) {
|
||||
elements.imgScreenshot.setAttribute('src', './resources/img/screenshotes/' + guid + '.png');
|
||||
elements.imgScreenshot.classList.remove('hidden');
|
||||
} else {
|
||||
@ -457,10 +589,39 @@ function onSelectPreview(target, isOverview) {
|
||||
}
|
||||
};
|
||||
|
||||
function createNotification(text) {
|
||||
// creates any notification for user inside elements.divMain window (you should clear this element before making notification)
|
||||
let div = document.createElement('div');
|
||||
div.className = 'div_notification';
|
||||
let span = document.createElement('span');
|
||||
span.className = 'span_notification';
|
||||
span.innerHTML = translate[text] || text;
|
||||
div.append(span);
|
||||
elements.divMain.append(div);
|
||||
};
|
||||
|
||||
function createError(err) {
|
||||
// creates a modal window with error message for user and error in console
|
||||
console.error(err);
|
||||
let background = document.createElement('div');
|
||||
background.className = 'asc-plugin-loader';
|
||||
let span = document.createElement('span');
|
||||
span.className = 'error_caption';
|
||||
span.innerHTML = err.message;
|
||||
background.append(span);
|
||||
document.getElementById('div_error').append(background);
|
||||
document.getElementById('div_error').classList.remove('hidden');
|
||||
setTimeout(function() {
|
||||
// remove error after 5 seconds
|
||||
background.remove();
|
||||
document.getElementById('div_error').classList.add('hidden');
|
||||
}, 5000);
|
||||
};
|
||||
|
||||
function setDivHeight() {
|
||||
// set height for div with image in preview mode
|
||||
Ps.update();
|
||||
console.log(Math.round(window.devicePixelRatio * 100));
|
||||
if (Ps) Ps.update();
|
||||
// console.log(Math.round(window.devicePixelRatio * 100));
|
||||
let div = document.getElementById("div_selected_image");
|
||||
if (div) {
|
||||
let height = div.parentNode.clientHeight - div.previousElementSibling.clientHeight - 20 + "px";
|
||||
@ -475,7 +636,8 @@ window.onresize = function() {
|
||||
};
|
||||
|
||||
function getTranslation() {
|
||||
if (shorLang != "en") {
|
||||
// gets translation for current language
|
||||
if (shortLang != "en") {
|
||||
makeRequest('./translations/langs.json').then(
|
||||
function(response) {
|
||||
let arr = JSON.parse(response);
|
||||
@ -485,7 +647,7 @@ function getTranslation() {
|
||||
if (file == lang) {
|
||||
fullName = file;
|
||||
break;
|
||||
} else if (file.split('-')[0] == shorLang) {
|
||||
} else if (file.split('-')[0] == shortLang) {
|
||||
shortName = file;
|
||||
}
|
||||
}
|
||||
@ -497,7 +659,7 @@ function getTranslation() {
|
||||
onTranslate();
|
||||
},
|
||||
function(err) {
|
||||
console.error(err);
|
||||
createError(new Error('Cannot load translation for current language.'));
|
||||
showMarketplace();
|
||||
}
|
||||
);
|
||||
@ -506,7 +668,7 @@ function getTranslation() {
|
||||
}
|
||||
},
|
||||
function(err) {
|
||||
console.error(err);
|
||||
createError(err);
|
||||
showMarketplace();
|
||||
}
|
||||
);
|
||||
@ -514,6 +676,7 @@ function getTranslation() {
|
||||
};
|
||||
|
||||
function onTranslate() {
|
||||
// translates elements on current language
|
||||
elements.linkNewPlugin.innerHTML = translate["Submit your own plugin"];
|
||||
elements.btnMyPlugins.innerHTML = translate["My plugins"];
|
||||
elements.btnMarketplace.innerHTML = translate["Marketplace"];
|
||||
@ -535,6 +698,8 @@ function onTranslate() {
|
||||
};
|
||||
|
||||
function showMarketplace() {
|
||||
// show main window to user
|
||||
elements.divBody.classList.remove('hidden');
|
||||
elements.divHeader.classList.remove('hidden');
|
||||
// убираем пока шапку, так как в плагине есть своя
|
||||
// elements.divHeader.classList.remove('hidden');
|
||||
};
|
||||
@ -7,14 +7,18 @@
|
||||
"Install": "Nainstalovat",
|
||||
"Remove": "Odstranit",
|
||||
"Update": "Aktualizace",
|
||||
"Offered by" : "Nabízí",
|
||||
"Offered by": "Nabízí",
|
||||
"Overview": "Přehled",
|
||||
"Info & Support": "Informace A Podpora",
|
||||
"Learn how to use": "Naučte se používat",
|
||||
"the plugin in" : "plugin v",
|
||||
"the plugin in": "plugin v",
|
||||
"Contribute": "Přispět",
|
||||
"to the plugin developmen or report an issue on" : "k plugin developmen nebo nahlásit problém na",
|
||||
"to the plugin developmen or report an issue on": "k plugin developmen nebo nahlásit problém na",
|
||||
"Get help": "Získejte pomoc",
|
||||
"with the plugin functionality on our forum." : "s funkcí pluginu na našem fóru.",
|
||||
"Create a new plugin using" : "Vytvořte nový plugin pomocí"
|
||||
"with the plugin functionality on our forum.": "s funkcí pluginu na našem fóru.",
|
||||
"Create a new plugin using": "Vytvořte nový plugin pomocí",
|
||||
"Loading": "Načítání",
|
||||
"Installation": "Instalace",
|
||||
"Updating": "Aktualizace",
|
||||
"Removal": "Odstranění"
|
||||
}
|
||||
@ -7,14 +7,18 @@
|
||||
"Install": "Installieren",
|
||||
"Remove": "Entfernen",
|
||||
"Update": "Actualizar",
|
||||
"Offered by" : "Angeboten von",
|
||||
"Offered by": "Angeboten von",
|
||||
"Overview": "Überblick",
|
||||
"Info & Support": "Infos & Unterstützung",
|
||||
"Learn how to use": "Erfahren Sie, wie Sie es verwenden",
|
||||
"the plugin in" : "das Plugin in",
|
||||
"the plugin in": "das Plugin in",
|
||||
"Contribute": "Beitragen",
|
||||
"to the plugin developmen or report an issue on" : "an die Plugin-Entwickler oder melden Sie ein Problem auf",
|
||||
"to the plugin developmen or report an issue on": "an die Plugin-Entwickler oder melden Sie ein Problem auf",
|
||||
"Get help": "Hilfe erhalten",
|
||||
"with the plugin functionality on our forum." : "mit der Plugin-Funktionalität in unserem Forum.",
|
||||
"Create a new plugin using" : "Erstellen Sie ein neues Plugin mit"
|
||||
"with the plugin functionality on our forum.": "mit der Plugin-Funktionalität in unserem Forum.",
|
||||
"Create a new plugin using": "Erstellen Sie ein neues Plugin mit",
|
||||
"Loading": "Laden",
|
||||
"Installation": "Installation",
|
||||
"Updating": "Aktualisieren",
|
||||
"Removal": "Entfernung"
|
||||
}
|
||||
@ -7,14 +7,18 @@
|
||||
"Install": "Instalar",
|
||||
"Remove": "Quitar",
|
||||
"Update": "Actualizar",
|
||||
"Offered by" : "Ofrecido por",
|
||||
"Offered by": "Ofrecido por",
|
||||
"Overview": "Visión general",
|
||||
"Info & Support": "Información y Soporte",
|
||||
"Learn how to use": "Aprenda a usar",
|
||||
"the plugin in" : "el complemento en",
|
||||
"the plugin in": "el complemento en",
|
||||
"Contribute": "Contribuya",
|
||||
"to the plugin developmen or report an issue on" : "a los desarrolladores de complementos o informe un problema en",
|
||||
"to the plugin developmen or report an issue on": "a los desarrolladores de complementos o informe un problema en",
|
||||
"Get help": "Obtenga ayuda",
|
||||
"with the plugin functionality on our forum." : "con la funcionalidad del complemento en nuestro foro.",
|
||||
"Create a new plugin using" : "Crear un nuevo plugin usando"
|
||||
"with the plugin functionality on our forum.": "con la funcionalidad del complemento en nuestro foro.",
|
||||
"Create a new plugin using": "Crear un nuevo plugin usando",
|
||||
"Loading": "Carga",
|
||||
"Installation": "Instalación",
|
||||
"Updating": "Actualizar",
|
||||
"Removal": "Eliminación"
|
||||
}
|
||||
@ -7,14 +7,18 @@
|
||||
"Install": "Installer",
|
||||
"Remove": "Supprimer",
|
||||
"Update": "Mettre",
|
||||
"Offered by" : "Offert par",
|
||||
"Offered by": "Offert par",
|
||||
"Overview": "Aperçu",
|
||||
"Info & Support": "Infos & Support",
|
||||
"Learn how to use": "Apprenez à utiliser",
|
||||
"the plugin in" : "le plugin dans",
|
||||
"the plugin in": "le plugin dans",
|
||||
"Contribute": "Contribuez",
|
||||
"to the plugin developmen or report an issue on" : "aux développeurs du plugin ou signalez un problème sur",
|
||||
"to the plugin developmen or report an issue on": "aux développeurs du plugin ou signalez un problème sur",
|
||||
"Get help": "Obtenir de l'aide",
|
||||
"with the plugin functionality on our forum." : "avec la fonctionnalité du plugin sur notre forum.",
|
||||
"Create a new plugin using" : "Créer un nouveau plugin en utilisant"
|
||||
"with the plugin functionality on our forum.": "avec la fonctionnalité du plugin sur notre forum.",
|
||||
"Create a new plugin using": "Créer un nouveau plugin en utilisant",
|
||||
"Loading": "Chargement",
|
||||
"Installation": "Installation",
|
||||
"Updating": "Mettre",
|
||||
"Removal": "Suppression"
|
||||
}
|
||||
@ -7,14 +7,18 @@
|
||||
"Install": "Установить",
|
||||
"Remove": "Удалить",
|
||||
"Update": "Обновить",
|
||||
"Offered by" : "Предложено",
|
||||
"Offered by": "Предложено",
|
||||
"Overview": "Обзор",
|
||||
"Info & Support": "Информация & Поддержка",
|
||||
"Learn how to use": "Узнайте как использовать",
|
||||
"the plugin in" : "плагин в",
|
||||
"the plugin in": "плагин в",
|
||||
"Contribute": "Внесите свой вклад",
|
||||
"to the plugin developmen or report an issue on" : "в разработку плагина или сообщите о проблеме на",
|
||||
"to the plugin developmen or report an issue on": "в разработку плагина или сообщите о проблеме на",
|
||||
"Get help": "Получите помощь",
|
||||
"with the plugin functionality on our forum." : "с функциональностью плагина на нашем форуме.",
|
||||
"Create a new plugin using" : "Создайте новый плагин используя"
|
||||
"with the plugin functionality on our forum.": "с функциональностью плагина на нашем форуме.",
|
||||
"Create a new plugin using": "Создайте новый плагин используя",
|
||||
"Loading": "Загрузка",
|
||||
"Installation": "Установка",
|
||||
"Updating": "Обновление",
|
||||
"Removal": "Удаление"
|
||||
}
|
||||