Расширение страниц редактирования/просмотра




Скачать 49.71 Kb.
НазваниеРасширение страниц редактирования/просмотра
ТипДокументы
rykovodstvo.ru > Руководство эксплуатация > Документы
Расширение страниц редактирования/просмотра

Одна из самых распространённых операций при настройке приложения для конкретных задач. Расширение карточки может проходить с использованием двух подходов 1 - Пользовательский дизайнер страниц, 2 - Расширение схемы страницы.

Пользовательский дизайнер страниц

  • EntitySchema (объект) замещается в пакете Custom, поэтому важно, чтобы объекты, замещенные пользователем добавлялись в другой пользовательский пакет

  • Схема карточки не замещается

  • Информация о модификациях хранится в справочнике EditPageModification  в виде последовательности элементарных операций над элементами структуры карточки и привязка идёт к имени схемы.

  • При добавлении поля на карточку, поле добавляется в объект (если это новое поле) и в таблицу «EditPageModification» добавляется запись вида:

cid:image001.png@01cee51a.3dd0d650.

Где SerializedData – это и есть набор элементарных операций по действию с полем, а

EditPageName – имя страницы, для которой применяются изменения
Замещение объекта

Для расширения объекта необходимо

Создать замещающий объект

cid:image022.png@01cee778.a5fc4bf0
Указать родительский объект, добавить необходимые поля и опубликовать:

cid:image023.png@01cee778.a5fc4bf0
Публикацию пока можно опустить и просто сохранить объект для экономии времени (сохранятся только метаданные, а компиляция произойдет при публикации любого другого объекта или страницы). Поэтому объект можно сохранить, а публиковать уже страницу после добавления на нее поля.

Замещение карточек редактирования

Для расширения страницы редактирования необходимо

  1. Создать расширяющую схему для страницы редактирования

cid:image013.png@01cedcab.f0f99590

Указать там родительскую страницу:

cid:image019.png@01cee773.e07c4960

Сначала необходимо подключить необходимые ресурсы (можно посмотреть в базовых страницах):


  1. cid:image020.png@01cee773.e07c4960 



  2. Добавить код по добавлению поля

    define('LeadPage', ['terrasoft', 'Lead', 'LeadPageStructure', 'LeadPageResources'],

         function(Terrasoft, Lead, structure, resources) {

         structure.userCode = function() {

             this.schema.leftPanel.push({

                type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,

                name: 'NewField',

                columnPath: 'NewField',

                dataValueType: Terrasoft.DataValueType.BOOLEAN,

                visible: true

            });

        };

        return structure;

    });

  3. Для перекрытия метода объявленного в базовой карточке необходимо раелизвать следующий код
     

    define('LeadPage', ['terrasoft', 'Lead', 'LeadPageStructure', 'LeadPageResources'],

         function(Terrasoft, Lead, structure, resources) {

         structure.userCode = function() {

            this.methods.calculatePrice = function() {

                var price = this.callParent(arguments) + 10;

                return price;

            }

        };

        return structure;

    });

  4. Важно: Использование в методе конструкции callParent для методов которые добавляются в схему в модуле или генераторе модели представления ведёт к неправильной работе системы, для таких метод код нужно замещать полностью - напрмер метод onSaved. (задача по исправлению ошибки находится в техническом долге)Добавление пункта меню в карточку

Добавление пункта меню в карточку

  1. Создать расширяющую схему

  2. Реализовать код по добавлению пункта меню и обработчика

define('KnowledgeBasePage', ['terrasoft', 'KnowledgeBase', 'KnowledgeBasePageStructure', 'KnowledgeBasePageResources'],

    function(Terrasoft, entitySchema, structure, resources) {

    structure.userCode = function() {

        this.methods.sayHello = function(){

            alert('Hello');

        };

        this.actions = [

            {

                caption: 'SayHello',

                methodName: 'sayHello'

            }

        ];

    };

    return structure;

});

Расширение деталей


 Добавление действия по отображению диалогового  

  1. Добавить замещающий клиентский модуль для схемы детали

  2. Реализовать код по расширению фунциональности детали(добавить метод sayHello, добавить пункт меню вызывающий исполнение метода)



define('ActivityDetail', ['Activity', 'sandbox', 'ActivityDetailStructure', 'ActivityDetailResources'],

    function(Activity, sandbox, structure, resources) {

    structure.userCode = function() {

        this.methods.sayHello = function() {

            alert('Hello');

        };

        this.modifyUtilsButton = function(config) {

            config.menu.items.push(

                {

                    caption: 'Say Hello',

                    click: {

                        bindTo: 'sayHello'

                    }

                }

            );

            return config;

        };

    };

    return structure;

});

Расширение разделов


Добавление действия по открытию страницы http://google.com  в отдельном окне

  1. Добавить замещающий клиентский модуль для схемы раздела

  2. Реализовать код по расширению фунциональности (добавить метод по открытию url-a, добавить пункт меню вызывающий исполнение метеда)



define('KnowledgeBaseSection', ['terrasoft', 'KnowledgeBaseSection', 'KnowledgeBaseSectionStructure',

    'KnowledgeBaseSectionResources'], function(Terrasoft, entitySchema, structure) {

    structure.userCode = function() {

        this.methods.openGoogleSearch = function() {

            window.open("http://google.com");

        };

        this.methods.getActions = function(actionsConfig) {

            var actionsButtonConfig = this.callParent(arguments);

            actionsButtonConfig.push({

                caption: 'Google',

                click: {

                    bindTo: 'openGoogleSearch'

                }

            });

            return actionsButtonConfig;

        }

    };

    return structure;

});



Работают замещающие клиентские модули так:

При загрузке страницы загружается код базовой страницы и к нему просто добавляется код замещающего клиентского модуля.

Есть две основные «панели»:

leftPanel (в основном содержит поля) и rightPanel (на нее размещаются детали).

Для добавления своих полей нужно вызывать метод

this.schema.leftPanel.push( fields ),

где fields – это поля (см. пример в инструкции).
В случае с деталью, push нужно делать в rightPanel (см. инструкцию по добавлению детали на SDK п. 4.5).

Похожие:

Расширение страниц редактирования/просмотра iconИнструкция пользователя diafan. Cms ver 3 Содержание Вход в панель...
Панель редактирования страниц сайта Набрав в строке адреса браузера (например: Internet Explorer, Firefox, Opera) адрес вида

Расширение страниц редактирования/просмотра iconСодержание Модуль «Список шаблонов»
Модуль «Список шаблонов» в составе по системы S. Builder предназначен для создания и редактирования шаблонов форматирования текста...

Расширение страниц редактирования/просмотра iconТехническое задание на выполнение работ и поставку оборудования по...
Рабочая документация «Расширение пс 110/15кв о-47 «Борисово» (шифр 25-08-08), разработанная ООО «Азимут-проект» в 2008 году

Расширение страниц редактирования/просмотра iconИсх. №09 от 07. 04. 2017 Коммерческое предложение. Предлагаем Вам...
Видеовыход квадратора на аналоговый монитор для on-line просмотра изображения. Запись координат от внешнего приемника gps или Глонасс,...

Расширение страниц редактирования/просмотра iconКонкурсная документация открытый одноэтапный конкурс без предварительного...
«Модернизация и расширение систем телемеханики и передачи информации» по «Программе повышения надежности и наблюдаемости енэс. Этап...

Расширение страниц редактирования/просмотра iconИнструкция по получению промежуточных результатов тестирования знаний...
Для просмотра промежуточных результатов тестирования знаний необходимо войти по ссылке

Расширение страниц редактирования/просмотра iconРуководство по эксплуатации Приложения для просмотра статистической...
Приложения для просмотра статистической информации по Ленинградской области на iPhone (далее – Приложение)

Расширение страниц редактирования/просмотра iconИзменение Просмотра Рабочего Окна 12

Расширение страниц редактирования/просмотра iconПояснительная записка к дипломному проекту: 85 страниц, 15 рисунков,...
Пояснительная записка к дипломному проекту: 85 страниц, 15 рисунков, 29 таблиц, 24 источника, 5 приложений, 3 листа чертежей формата...

Расширение страниц редактирования/просмотра iconТехническое задание на выполнение строительных и монтажных работ...
«Расширение радиохимического участка для производства радионуклида молибден-99 на площадке ОАО «гнц нииар»»

Расширение страниц редактирования/просмотра iconКонкурсная Документация по открытому одноэтапному конкурсу без предварительного...
По открытому одноэтапному конкурсу без предварительного квалификационного отбора на поставку оборудования по проекту «расширение...

Расширение страниц редактирования/просмотра iconСодержание
Функции просмотра материалами подсистемы, обеспечивающей общение зарегистрированных пользователей информационного ресурса 11

Расширение страниц редактирования/просмотра iconИнструкция по установке
Для использования функции просмотра xml-файлов из программы, имеются дополнительные требования

Расширение страниц редактирования/просмотра iconНа правах рукописи
Макетирование страниц мобильных приложений. Модульные сетки и прототипирование. 32

Расширение страниц редактирования/просмотра icon1. Обеспечена возможность работы с элементами основных выпадающих...
Обеспечена возможность работы с элементами основных выпадающих меню список доступных бд, список видов поиска, список форматов просмотра,...

Расширение страниц редактирования/просмотра iconОбрезать песню – нарезка mp3
Раньше для этого нужно было искать сложные или редкие программы конвертирования и редактирования файлов звуковых форматов. Что ж,...


Руководство, инструкция по применению






При копировании материала укажите ссылку © 2018
контакты
rykovodstvo.ru
Поиск