Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch kuntashov-dev Excluding Merge-Ins
This is equivalent to a diff from a28cae869a to a00789f7af
2012-06-15
| ||
10:03 | (no comment) check-in: 09d973fdfb user: metaeditor tags: trunk | |
2012-05-23
| ||
11:46 | Добавленна настройка вызова сообщению пользователю внутренней коммандой 1С check-in: b2b079d60f user: sosnae tags: trunk | |
2012-05-20
| ||
19:20 | Добавлена возможность указывать тип хранилища, в котором сохранять настройки. check-in: 8167e3b5da user: kuntashov tags: trunk | |
19:11 | Ошибочный коммит. Closed-Leaf check-in: a00789f7af user: kuntashov tags: kuntashov-dev | |
2012-05-19
| ||
19:38 | Макрос "Закрыть окно поиска" теперь возвращае true, если действительно закрывает окно и false, если окно не было открыто (чтобы можно было назначить Ctr+Alt+Z). check-in: a28cae869a user: kuntashov tags: trunk | |
19:32 | Добавлены кнопки командной панели для сворачивания/разворачивания группировок результатов поиска. check-in: 04ebfba15d user: kuntashov tags: trunk | |
Changes to Libs/ScriptForm.js.
18 18 //// Автор: Александр Кунташов <kuntashov@gmail.com>, http://compaud.ru/blog 19 19 ////} 20 20 //////////////////////////////////////////////////////////////////////////////////////// 21 21 22 22 ScriptForm = stdlib.Class.extend({ 23 23 24 24 //{ Свойства 25 + 26 + // Отключить автоназначение обработчиков событий. 27 + disableAutoEvents: false, 28 + 29 + // Путь к сохраняемым настройкам в хранилище настроек. 30 + settingsRootPath : '', 31 + 32 + /* Настройки: сохраняемые реквизиты формы. 33 + Ключ - значение перечисления ProfileStoreType, тип хранилища, 34 + в котором хранить настройки. Значение - ассоциативный массив. 35 + Ключ - имя реквизита формы, который сохранять. 36 + Значение - значение настройки по умолчанию. */ 37 + settings : { 38 + //pflSnegopat: {/* FormPropName : DefaultValue, ... */}, 39 + //pflBase: {}, 40 + //pflBaseUser: {}, 41 + //pflCompBase: {}, 42 + //pflCompBaseUser: {}, 43 + //pflComputer: {}, 44 + //pflSeanse: {} 45 + }, 46 + 47 + // Вспомогательные. 25 48 form: null, 26 - handlers: {}, 27 - disableAutoEvents: false, 49 + handlers: {}, 50 + 28 51 //} Свойства 29 52 30 53 construct: function (formPath) { 31 54 this.loadForm(formPath); 32 55 }, 56 + 57 + hasSettings : function () { 58 + return this.settingsRootPath && this.settings; 59 + }, 60 + 61 + loadSettings : function () { 62 + 63 + if (!this.hasSettings()) 64 + return false; 65 + 66 + var sm = stdlib.require('SettingsManaagement.js').SettingsManagement; 67 + for (var pflType in this.settings) 68 + { 69 + var defaults = this.settings[pflType]; 70 + var settings = sm.CreateManager(this.settingsRootPath, defaults, pflType); 71 + 72 + settings.LoadSettings(); 73 + if (this.form) 74 + settings.ApplyToForm(this.form); 75 + 76 + this.settings[pflType] = settings; 77 + } 78 + 79 + return true; 80 + }, 81 + 82 + saveSettings : function () { 83 + 84 + if (!this.hasSettings()) 85 + return false; 86 + 87 + for (var pflType in this.settings) 88 + { 89 + settings = this.settings[pflType]; 90 + settings.ReadFromForm(this.form); 91 + settings.SaveSettings(); 92 + } 93 + 94 + return true; 95 + }, 33 96 34 97 show: function (modal) { 35 98 return modal ? this.form.DoModal() : this.form.Open(); 36 99 }, 37 100 38 101 close: function () { 39 102 if (this.isOpen()) ................................................................................ 217 280 hName: function (eventName) { 218 281 return '__' + eventName; 219 282 }, 220 283 221 284 fire: function (eventName, eventArgs) { 222 285 // Вызываем все обработчики, подписанные на событие. 223 286 for (var i=0; i<this.handlers[eventName].length; i++) 224 - Function.call.apply(this.handlers[eventName][i], eventArgs); 287 + //Function.call.apply(this.handlers[eventName][i], eventArgs); 288 + this.handlers[eventName][i].apply(this, eventArgs); 225 289 } 226 290 //} Приватные методы 227 291 }); 228 292 229 293 // static 230 294 ScriptForm.FORM_EVENTS = { 231 295 // ПередОткрытием(Отказ, СтандартнаяОбработка)
Changes to Libs/SettingsManagement.js.
6 6 7 7 //////////////////////////////////////////////////////////////////////////////////////// 8 8 ////{ ФабрикаОбъектов 9 9 //// 10 10 11 11 SettingsManagement = {}; 12 12 13 -SettingsManagement.CreateManager = function (rootPath, defaults) { 14 - return new _SettingsManager(rootPath, defaults); 13 +SettingsManagement.CreateManager = function (rootPath, defaults, pflStoreType) { 14 + return new _SettingsManager(rootPath, defaults, pflStoreType); 15 15 } 16 16 17 17 ////} 18 18 19 19 //////////////////////////////////////////////////////////////////////////////////////// 20 20 ////{ SettingsManager(script, defaults) 21 21 //// 22 22 23 -function _SettingsManager(rootPath, defaults) { 23 +function _SettingsManager(rootPath, defaults, pflStoreType) { 24 24 this.rootPath = rootPath; 25 + this.pflStoreType = pflStoreType || pflSnegopat; 25 26 26 27 var emptySettings = {}; 27 28 this.DefaultSettings = defaults || emptySettings; 28 29 29 30 for(var setting in this.DefaultSettings) 30 - profileRoot.createValue(this.GetFullSettingPath(setting), this.DefaultSettings[setting], pflSnegopat); 31 + profileRoot.createValue(this.GetFullSettingPath(setting), this.DefaultSettings[setting], this.pflStoreType); 31 32 32 33 this.current = {}; 33 34 34 35 for(var setting in this.DefaultSettings) 35 36 this.current[setting] = profileRoot.getValue(this.GetFullSettingPath(setting)); 36 37 } 37 38
Changes to extSearch.js.
464 464 var scriptPath = mainFolder + "scripts\\RegExpEditor.js"; 465 465 var f = v8New('File', scriptPath); 466 466 if (f.Exist()) 467 467 return scriptPath; 468 468 return ''; 469 469 }, 470 470 471 - OnOpen : function () { 471 + Form_OnOpen : function () { 472 472 473 473 if (!this.getRegExpEditorScriptPath()) 474 474 this.form.Controls.Query.ChoiceButton = false; 475 475 476 476 this.SetControlsVisible(); 477 477 }, 478 478 479 - OnClose : function () { 479 + Form_OnClose : function () { 480 480 this.settings.ReadFromForm(this.form); 481 481 this.settings.SaveSettings(); 482 482 }, 483 483 484 484 CmdBar_BtPrev : function (control) { 485 485 this.moveRowCursor(false); 486 486 },