Форум программистов, компьютерный форум, киберфорум
ExtJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 22.10.2013
Сообщений: 34

Ext js 4 не добавляет вкладки

06.12.2017, 05:49. Показов 3589. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
2 примера кода описываю 2 объекта в интерфейсе
JavaScript
1
{ text:_ACADEM_CALENDAR_,tooltip:_HINT_ACADEM_CALENDAR_, scale:'large', rowspan:1, iconCls:'mi-cplan', iconAlign:'left', handler:this.clickAcademCalendar },
JavaScript
1
{ text:_ACADEM_DIFFERENCE_,tooltip:_HINT_ACADEM_DIFFERENCE_, scale:'large', rowspan:1, iconCls:'mi-cplan', iconAlign:'left', handler:this.clickAcademDifference },
Далее описываю обработку кликов

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
clickAcademCalendar: function(){
        var id_tab = 'id_tab_academcalendar'; var tab = Ext.getCmp(id_tab);
        if(typeof tab!== "undefined"){
            Ext.getCmp('id_maintabs').setActiveTab(id_tab);
        }else{
            Ext.getCmp('id_maintabs').addTab({
                id:id_tab, layout:'fit', closable:true, closeAction:'hide',
                title:_ACADEM_CALENDAR_,
                items:[{xtype:'academcalendarmain'}] 
            }); 
        }
        Ext.getStore('Weeks').load();
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
clickAcademDifference: function(){
        var id_tab = 'id_tab_academdifference'; var tab = Ext.getCmp(id_tab);
        if(typeof tab!== 'undefined'){
            Ext.getCmp('id_maintabs').setActiveTab(id_tab);
        }else{
            Ext.getCmp('id_maintabs').addTab({
                id:id_tab, layout:'fit', closable:true, closeAction:'hide',
                title:_ACADEM_DIFFERENCE_,
                items:[{xtype:'academdifferencemain'}] 
            }); 
        }
        Ext.getStore('AcademDifference').load();
    },
во втором описании показывает ошибку на этой строке Ext.getCmp('id_maintabs').addTab({
а в консоли браузера следующую ошибку выдает
Uncaught TypeError: Cannot read property 'substring' of undefinedExt.ClassManager.parseNamespace
@ ext-all-debug.js:3487Ext.ClassManager.get
@ ext-all-debug.js:3583Ext.ClassManager.instantiat e
@ ext-all-debug.js:3749Ext.ClassManager.instantiat eByAlias
@ ext-all-debug.js:3737(anonymous function)
@ ext-all-debug.js:1521Ext.define.create
@ ext-all-debug.js:16672Ext.define.createComponent
@ ext-all-debug.js:28228Ext.define.lookupComponent
@ ext-all-debug.js:28216Ext.define.prepareItems
@ ext-all-debug.js:28187Ext.define.add
@ ext-all-debug.js:28276Ext.define.add
@ ext-all-debug.js:28266Ext.define.initItems
@ ext-all-debug.js:28091Base.callParent
@ ext-all-debug.js:2833Ext.define.initItems
@ ext-all-debug.js:32890Ext.define.initComponent
@ ext-all-debug.js:28075Base.callParent
@ ext-all-debug.js:2833Ext.define.initComponent
@ ext-all-debug.js:32882Base.callParent
@ ext-all-debug.js:2833Ext.define.initComponent
@ ext-all-debug.js:37353Ext.define.constructor
@ ext-all-debug.js:18584Base.callParent
@ ext-all-debug.js:2833Ext.define.constructor
@ ext-all-debug.js:27244newClass
@ ext-all-debug.js:3067(anonymous function)
@ VM67:3Ext.ClassManager.instantiate
@ ext-all-debug.js:3787Ext.ClassManager.instantiat eByAlias
@ ext-all-debug.js:3737(anonymous function)
@ ext-all-debug.js:1521Ext.define.create
@ ext-all-debug.js:16672Ext.define.createComponent
@ ext-all-debug.js:28228Ext.define.lookupComponent
@ ext-all-debug.js:28216Ext.define.prepareItems
@ ext-all-debug.js:28187Ext.define.add
@ ext-all-debug.js:28276Ext.define.addTab
@ Maintabs.js?_dc=1512527591828:35Ext.defi ne.clickAcademDifference
@ Mainmenu.js?_dc=1512527592107:439Ext.def ine.onClick
@ ext-all-debug.js:29417(anonymous function)
@ VM563:6wrap
@ ext-all-debug.js:10688
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2017, 05:49
Ответы с готовыми решениями:

Переименовать файлы текущей папки регулярными именами: PRE0001.ext, PRE0002.ext, PRE0003.ext. (префикс, расширение)
Переименовать файлы текущей папки регулярными именами: PRE0001.ext, PRE0002.ext, PRE0003.ext, ... (префикс, расширение и начальный номер -...

Ext JS 4. Доступ к записям в Ext.Data.Store
Друзья! Я только недавно начал изучать Ext JS 4, потому еще мало что понимаю и очень надеюсь на помощь коллективного разума. :) Проблема...

В браузерах открываются посторонние вкладки рекламные вкладки + не работают ява скрипты
Привет всем. Я являюсь не очень прошаренным пользователем ПК, поэтому обращаюсь за помощью к вам. С недавнего времени, после посещения...

2
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
06.12.2017, 21:31
На сколько я понял, Extjs не может найти компонент с xtype: academcalendarmain или xtype: academdifferencemain, которые являются вложенными во вкладки
0
0 / 0 / 1
Регистрация: 22.10.2013
Сообщений: 34
08.12.2017, 12:44  [ТС]
Подключаю контроллер он препятствует загрузке php скриптов
JavaScript
1
2
3
4
5
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
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
Ext.define('SDO.controller.AcademDifference', {
    extend: 'Ext.app.Controller',
 
    views: ['academdifference.Main', 'cbDOTFaculties','cbDOTSpecialities','cbDOTStreams','cbDOTGroups','cbDOTStudents', 'academdifference.List'],
    stores: ['DOTFaculties','DOTSpecialities','DOTStreams', 'DOTGroups','DOTStudents','AcademDifference'],
    models: ['Faculty','Speciality','Stream', 'Group','cbStudent', 'AcademDifference'],
 
    init: function() {
        this.control({
            '#id_ac_cbfaculties':{ 'select': function(){
                    Ext.getCmp('id_ad_cbspecialities').setValue('');
                    Ext.getCmp('id_ad_cbstreams').setValue(''); 
                    Ext.getCmp('id_ad_cbspecialities').store.proxy.extraParams = {'IDFaculty':Ext.getCmp('id_ac_cbfaculties').getValue() };
                    Ext.getCmp('id_ad_cbspecialities').store.load();
                    Ext.getCmp('id_ad_cbstreams').store.proxy.extraParams = {'IDFaculty':Ext.getCmp('id_ac_cbfaculties').getValue()};
                    Ext.getCmp('id_ad_cbstreams').store.load();
            }},
            '#id_ac_cbspecialities':{ 'select': function(){
                    Ext.getCmp('id_ad_cbstreams').setValue('');
                    Ext.getCmp('id_ad_cbgroups').setValue('');
                    Ext.getCmp('id_ad_cbstreams').store.proxy.extraParams = {'IDSpeciality':Ext.getCmp('id_ac_cbspecialities').getValue()};
                    Ext.getCmp('id_ad_cbstreams').store.load();
                    Ext.getCmp('id_ad_cbgroups').store.proxy.extraParams = {'IDSpeciality':Ext.getCmp('id_ac_cbspecialities').getValue()};
                    Ext.getCmp('id_ad_cbgroups').store.load();
            }},
            '#id_ac_cbstreams':{ 'select': function(){
                    Ext.getCmp('id_ad_cbgroups').setValue('');
                    Ext.getCmp('id_ad_cbstudents').setValue('');
                    Ext.getCmp('id_ad_cbgroups').store.proxy.extraParams = {'IDStream':Ext.getCmp('id_ac_cbstreams').getValue()};
                    Ext.getCmp('id_ad_cbgroups').store.load();
                    Ext.getCmp('id_ad_cbstudents').store.proxy.extraParams = {'IDStream':Ext.getCmp('id_ac_cbstreams').getValue()};
                    Ext.getCmp('id_ad_cbstudents').store.load();
            }},
             '#id_ac_cbgroups':{ 'select': function(){        
                    Ext.getCmp('id_ad_cbstudents').setValue('');
                    Ext.getCmp('id_ad_cbstudents').store.proxy.extraParams = {'IDGroup':Ext.getCmp('id_ac_cbgroups').getValue()};
                    Ext.getCmp('id_ad_cbstudents').store.load();
            }},
            '#id_ac_cbstudents':{ 'select': function(){        
                   if(Ext.getCmp('id_ad_filter').getForm().isValid()){
                    Ext.getCmp('id_academdifferencelist').store.proxy.extraParams = {
                    'IDStudent':Ext.getCmp('id_ad_cbstudents').getValue()
                    };
                        Ext.getCmp('id_academdifferencelist').store.load();
                    }
                 }   
 
            },
                    //           
            'academdifferencemain button[action=select]':{ 'click': function(btn) {
                if(Ext.getCmp('id_ad_filter').getForm().isValid()){
                    Ext.getCmp('id_academdifferencelist').store.proxy.extraParams = {
                        'IDFaculty':Ext.getCmp('id_ad_cbfaculties').getValue(),
                       // 'IDSpeciality':Ext.getCmp('id_ad_cbspecialities').getValue(),
                        'IDStream':Ext.getCmp('id_ad_cbstreams').getValue(),
                       // 'IDGroup':Ext.getCmp('id_ad_cbgroups').getValue(),
                        'IDStudent':Ext.getCmp('id_ad_cbstudents').getValue()
                    };
                        Ext.getCmp('id_academdifferencelist').store.load();
                    }
                }
            },
            'academdifferencemain button[action=clear]':{ 'click': function(btn) {
                    Ext.getCmp('id_ad_filter').getForm().reset();
                    //clear stores
                    Ext.getCmp('id_ad_cbspecialities').store.proxy.extraParams = {};
                    Ext.getCmp('id_ad_cbspecialities').store.load();
                    Ext.getCmp('id_ad_cbstreams').store.proxy.extraParams = {};
                    Ext.getCmp('id_ad_cbstreams').store.load();
                    Ext.getCmp('id_ad_cbgroups').store.proxy.extraParams = {};
                    Ext.getCmp('id_ad_cbgroups').store.load();
                    Ext.getCmp('id_ad_cbstudents').store.proxy.extraParams = {};
                    Ext.getCmp('id_ad_cbstudents').store.load();
                    Ext.getCmp('id_academcalendarlist').store.proxy.extraParams = {};
                    Ext.getCmp('id_academcalendarlist').store.load();
                }
            }
        
        });
    }
});
подключаю его в конфигураторе здесь
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Ext.application({
    name: 'SDO',
    appFolder: 'SDOApp',
    
    controllers: ['Mainmenu', 'Maintabs', 'Maintools', 'Students', 'Staff', 'Library', 'AddMaterial', 'ListManager', 'LoadOfTutors', 'LPlans', 'News', 'Reminders', 'AcademCalendar', /*'AcademDifference',*/ 'Messenger', 'Forum', 'Rating', 'Testing', 'Orders', 'DPlans', 'GBook', 'Files', 'Consultations', 'VideoRecords', 'Webinars', 'ActionUsers', 'FileMessenger'],
    launch: function() {
    //
        Ext.create('Ext.container.Viewport', {
            layout: 'border', frame: false, id: 'id_vp',
            items: [
                { region: 'north', xtype: 'mainmenu', id: 'id_mainmenu', bodyStyle: 'padding:2px', height: 102 },
                { region: 'center', xtype: 'maintabs', id: 'id_maintabs' },{ region: 'east', xtype: 'maintools' }
            ]
        });
 
    }
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.12.2017, 12:44
Помогаю со студенческими работами здесь

Закрытие вкладки в PageControl - Не выходит определить, у какой вкладки нажата кнопка закрытия
Всем привет. Не могу оседлать pagecontrol. Проблема в том, что не могу определить у какой вкладки нажата кнопка закрытия. Допустим,...

IF EXIST "%path%*.ext" работает как IF EXIST "%path%*.ext*"
пример: ::какой-то код if not exist "%p%*.xls" ( %command% exit /b ) ::какой-то код где %p% заранее определенная...

Как создать вкладки на форме, что бы каждый раз не вызывать новую форму, а открывать в окне вкладки
Вкладки на форме

Фон ярлыка вкладки такой же, как у вкладки
Таким кодом создаю вкладки <script> $(function () { $("#tabs").tabs(); }); </script> </head> ...

EXT JS 3.4.0
Доброго вам времени суток. Есть такая задача. Есть грид. При нажатии кнопки редактирования, которая находиться в каждой строке,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru