Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2013, 18:50
Новичок на форуме
Отправить личное сообщение для GroZa Посмотреть профиль Найти все сообщения от GroZa
 
Регистрация: 12.11.2013
Сообщений: 4

Вопрос новичка по архитектуре MVC
Добрый день! Второй день осваиваю ExtJS. Не могу разобраться.
Задача стандартна и просто:
Как только открываешь индексную страницу грузится пустой
workspace и вверху тулбар, который делится на главное меню и userBar (фио пользователя, кнопка с личные сообщениями, и т. д).
Я начал делать так:
app.js
Ext.application({
    name: 'IvCRM',
    appFolder: 'app',
    requires: [
        'IvCRM.view.Workspace'
    ],
    launch: function() {
        var workspace = Ext.create('IvCRM.view.Workspace');

        Ext.create('Ext.container.Viewport', {
           layout: 'fit',
           items: [workspace]
        });
    }
});


views.Workspace.js:
Ext.define('IvCRM.view.Workspace', {
    extend: 'Ext.panel.Panel',
    bodyCls: 'panel-workspace',

    initComponent: function() {
        var toolbar = Ext.create('Ext.toolbar.Toolbar'); // верхний тулбар

        this.tbar = toolbar;
        this.callParent();
    }
});

Далее, я не знаю за что взяться(
Мне нужно загрузить в тулбар пункты меню и поставить им обработчики.
А так же узнать ФИО пользователя с сервера, количество непрочитаных сообщений и также загрузить это в тулбар.

Вопрос. Получается, мне нужно следать для menu и userBar отдельные контроллеры и вьюшки? Если да, то как мне их потом слить воедино в Workspace.js и добавить в toolbar?
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2013, 00:48
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

я вот так делал:

Ext.Loader.setPath('Ext.ux', '/js/lib/ext/ux');

Ext.require([
	'Ext.data.*',
	'Ext.util.*',
	'Ext.view.View',
	'Ext.ux.DataView.Animated',
	'Ext.XTemplate',
	'Ext.panel.Panel',
	'Ext.toolbar.*',
	'Ext.slider.Multi']);
	
Ext.onReady(function()
	{
	Ext.create('Ext.Viewport',
		{
		layout: 'border',
		renderTo: Ext.getBody(),
		items: [
			{
			region: 'center',
			tbar: [
				{
				xtype: 'button',
				text: ' Данные ',
				menu: [
					{
					text: 'Видео'
					},
					{
					text: 'Книги'
					},
					{
					text: 'Страницы'
					},
					{
					text: 'Документы'
					}]
				},
				{
				xtype: 'button',
				text: ' Настройки '
				},
				'->',
				{
				xtype: 'button',
				text: ' На сайт '
				},
				'-',
				{
				xtype: 'button',
				text: ' Выйти ',
				handler: function  ()
				   {
				   console.log(1);
				   }
				},
				'-',
				{
				xtype: 'label',
				text: 'дата последнего входа: ' + datetime_input
				}],
			margins: '1 1 1 1',
			id: 'content-panel',
			layout: 'card',
			activeItem: 0,
			border: false,
			items: layoutExamples
			}]
		});
	});
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2013, 00:50
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

за основу брал отсюда:
http://docs.sencha.com/extjs/4.2.2/#...t-browser.html
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по MVC (vanilla JS) Murdoc Оффтопик 4 19.08.2013 01:41
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Ext.Direct в архитектуре MVC ExtJs4 DofD ExtJS 0 10.01.2013 14:53
Вопрос новичка в java script realyhead Общие вопросы Javascript 7 09.02.2012 21:33
Вопрос новичка. zura Элементы интерфейса 0 22.01.2012 19:59