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
19
20
21
22
23
24























25
26
27

28
29
30
31
32








































33
34
35
36
37
38
39
...
217
218
219
220
221
222
223
224

225
226
227
228
229
230
231
//// Автор: Александр Кунташов <kuntashov@gmail.com>, http://compaud.ru/blog
////}
////////////////////////////////////////////////////////////////////////////////////////

ScriptForm = stdlib.Class.extend({

    //{ Свойства























    form: null,
    handlers: {},
    disableAutoEvents: false,

    //} Свойства

    construct: function (formPath) {
        this.loadForm(formPath);
    },








































    
    show: function (modal) {
        return modal ? this.form.DoModal() : this.form.Open();
    },    
        
    close: function () {
        if (this.isOpen())
................................................................................
    hName: function (eventName) {
        return '__' + eventName;
    },
      
    fire: function (eventName, eventArgs) {
        // Вызываем все обработчики, подписанные на событие.
        for (var i=0; i<this.handlers[eventName].length; i++)
            Function.call.apply(this.handlers[eventName][i], eventArgs);    

    }    
    //} Приватные методы    
});

// static
ScriptForm.FORM_EVENTS = {
    // ПередОткрытием(Отказ, СтандартнаяОбработка)







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|
<
>





>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|
>







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
...
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
//// Автор: Александр Кунташов <kuntashov@gmail.com>, http://compaud.ru/blog
////}
////////////////////////////////////////////////////////////////////////////////////////

ScriptForm = stdlib.Class.extend({

    //{ Свойства
    
    // Отключить автоназначение обработчиков событий.
    disableAutoEvents: false,    
    
    // Путь к сохраняемым настройкам в хранилище настроек.
    settingsRootPath : '',
    
    /* Настройки: сохраняемые реквизиты формы.
    Ключ - значение перечисления ProfileStoreType, тип хранилища, 
    в котором хранить настройки. Значение - ассоциативный массив. 
    Ключ - имя реквизита формы, который сохранять. 
    Значение - значение настройки по умолчанию. */
    settings : {
        //pflSnegopat: {/* FormPropName : DefaultValue, ... */},
        //pflBase: {},
        //pflBaseUser: {},
        //pflCompBase: {},
        //pflCompBaseUser: {},
        //pflComputer: {},
        //pflSeanse: {}
    },
    
    // Вспомогательные.
    form: null,
    handlers: {},    

    
    //} Свойства

    construct: function (formPath) {
        this.loadForm(formPath);
    },
    
    hasSettings : function () {
        return this.settingsRootPath && this.settings;
    },
    
    loadSettings : function () {
        
        if (!this.hasSettings())
            return false;
            
        var sm = stdlib.require('SettingsManaagement.js').SettingsManagement;
        for (var pflType in this.settings) 
        {
            var defaults = this.settings[pflType];
            var settings = sm.CreateManager(this.settingsRootPath, defaults, pflType);
            
            settings.LoadSettings();
            if (this.form)
                settings.ApplyToForm(this.form);            
                
            this.settings[pflType] = settings;
        }
        
        return true;
    },
    
    saveSettings : function () {
        
        if (!this.hasSettings())
            return false;
        
        for (var pflType in this.settings)
        {
            settings = this.settings[pflType];
            settings.ReadFromForm(this.form);
            settings.SaveSettings();
        }
        
        return true;
    },
    
    show: function (modal) {
        return modal ? this.form.DoModal() : this.form.Open();
    },    
        
    close: function () {
        if (this.isOpen())
................................................................................
    hName: function (eventName) {
        return '__' + eventName;
    },
      
    fire: function (eventName, eventArgs) {
        // Вызываем все обработчики, подписанные на событие.
        for (var i=0; i<this.handlers[eventName].length; i++)
            //Function.call.apply(this.handlers[eventName][i], eventArgs);    
            this.handlers[eventName][i].apply(this, eventArgs);
    }    
    //} Приватные методы    
});

// static
ScriptForm.FORM_EVENTS = {
    // ПередОткрытием(Отказ, СтандартнаяОбработка)

Changes to Libs/SettingsManagement.js.

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

25
26
27
28
29
30
31
32
33
34
35
36
37

////////////////////////////////////////////////////////////////////////////////////////
////{ ФабрикаОбъектов
////

SettingsManagement = {};

SettingsManagement.CreateManager = function (rootPath, defaults) {
    return new _SettingsManager(rootPath, defaults);
}

////}

////////////////////////////////////////////////////////////////////////////////////////
////{ SettingsManager(script, defaults)
////

function _SettingsManager(rootPath, defaults) {
    this.rootPath = rootPath;

    
    var emptySettings = {};
    this.DefaultSettings = defaults || emptySettings;
        
    for(var setting in this.DefaultSettings)
        profileRoot.createValue(this.GetFullSettingPath(setting), this.DefaultSettings[setting], pflSnegopat);
                
    this.current = {};
    
    for(var setting in this.DefaultSettings)
        this.current[setting] = profileRoot.getValue(this.GetFullSettingPath(setting));
}








|
|








|

>





|







6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

////////////////////////////////////////////////////////////////////////////////////////
////{ ФабрикаОбъектов
////

SettingsManagement = {};

SettingsManagement.CreateManager = function (rootPath, defaults, pflStoreType) {
    return new _SettingsManager(rootPath, defaults, pflStoreType);
}

////}

////////////////////////////////////////////////////////////////////////////////////////
////{ SettingsManager(script, defaults)
////

function _SettingsManager(rootPath, defaults, pflStoreType) {
    this.rootPath = rootPath;
    this.pflStoreType = pflStoreType || pflSnegopat;
    
    var emptySettings = {};
    this.DefaultSettings = defaults || emptySettings;
        
    for(var setting in this.DefaultSettings)
        profileRoot.createValue(this.GetFullSettingPath(setting), this.DefaultSettings[setting], this.pflStoreType);
                
    this.current = {};
    
    for(var setting in this.DefaultSettings)
        this.current[setting] = profileRoot.getValue(this.GetFullSettingPath(setting));
}

Changes to extSearch.js.

464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
        var scriptPath = mainFolder + "scripts\\RegExpEditor.js";
        var f = v8New('File', scriptPath);
        if (f.Exist())
            return scriptPath;
        return '';
    },
    
    OnOpen : function () {
            
        if (!this.getRegExpEditorScriptPath())
            this.form.Controls.Query.ChoiceButton = false;
        
        this.SetControlsVisible();
    },

    OnClose : function () {
        this.settings.ReadFromForm(this.form);
        this.settings.SaveSettings();
    },

    CmdBar_BtPrev : function (control) {
        this.moveRowCursor(false);
    },







|







|







464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
        var scriptPath = mainFolder + "scripts\\RegExpEditor.js";
        var f = v8New('File', scriptPath);
        if (f.Exist())
            return scriptPath;
        return '';
    },
    
    Form_OnOpen : function () {
            
        if (!this.getRegExpEditorScriptPath())
            this.form.Controls.Query.ChoiceButton = false;
        
        this.SetControlsVisible();
    },

    Form_OnClose : function () {
        this.settings.ReadFromForm(this.form);
        this.settings.SaveSettings();
    },

    CmdBar_BtPrev : function (control) {
        this.moveRowCursor(false);
    },