/* * (c) Codiad & ccvca (https://github.com/ccvca) * @author ccvca (https://github.com/ccvca) * This Code is released under the same licence as Codiad (https://github.com/Codiad/Codiad) * See [root]/license.txt for more. This information must remain intact. */ (function(global, $) { var self = null; $(function() { codiad.fileext_textmode.init(); }); global.codiad.fileext_textmode = { dialog: 'components/fileext_textmode/dialog.php', controller: 'components/fileext_textmode/controller.php', ////////////////////////////////////////////////////////////////// //do a post request for the first associations of fileextensions and textmodes ////////////////////////////////////////////////////////////////// availableTextModes : [], init : function() { self = this; this.initEditorFileExtensionTextModes(); amplify.subscribe('settings.dialog.save', function(){ if ($('#FileExtTextModeDiv:visible').length !== 0) { self.sendForm(); } }); }, ////////////////////////////////////////////////////////////////// //do a post request for the first associations of fileextensions and textmodes ////////////////////////////////////////////////////////////////// initEditorFileExtensionTextModes : function(){ $.get(this.controller, {'action' : 'GetFileExtTextModes'}, this.setEditorFileExtensionTextModes); }, ////////////////////////////////////////////////////////////////// //initial method to get the stored associations ////////////////////////////////////////////////////////////////// setEditorFileExtensionTextModes : function(data){ resp = $.parseJSON(data); if(resp.status != 'error' && resp.extensions != undefined){ codiad.editor.clearFileExtensionTextMode(); for(i in resp.extensions){ codiad.editor.addFileExtensionTextMode(i, resp.extensions[i]); } if(resp.textModes != undefined && resp.textModes != []){ self.availableTextModes = resp.textModes; } /* Notify listeners. */ amplify.publish('fileext_textmode.loadedExtensions'); } self.showStatus(data); }, formWidth : 400, ////////////////////////////////////////////////////////////////// // Open the component dialog ////////////////////////////////////////////////////////////////// open : function() { //codiad.modal.unload(); codiad.modal.load(this.formWidth, this.dialog+"?action=fileextension_textmode_form"); codiad.modal.hideOverlay(); }, ////////////////////////////////////////////////////////////////// //send the insert extesions and textmodes to the server. ////////////////////////////////////////////////////////////////// sendForm : function(){ var $div = $('#FileExtTextModeDiv'); var extensions = $div.find('.FileExtension'); //data to send var formData = {'extension[]' : [], 'textMode[]' : []}; for(var i = 0; i < extensions.size(); ++i){ formData['extension[]'].push(extensions[i].value); } var textMode = $div.find('.textMode'); for(var i = 0; i < textMode.size(); ++i){ formData['textMode[]'].push(textMode[i].value); } $.post(this.controller+'?action=FileExtTextModeForm', formData, self.setEditorFileExtensionTextModes); }, ////////////////////////////////////////////////////////////////// //Add a new insert line to the form ////////////////////////////////////////////////////////////////// addFieldToForm : function(){ var $table = $('#FileExtTextModeTable'); var $tbody = $('#FileExtTextModeTableTbody'); var code = '