Changes On Branch kuntashov-dev Вы: nobody
Вход

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       },