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


Скачать 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 В. В. Пчеловод Последний гамбит
В случае, если Ваша система работает некорректно, и автоматически будут заданы ошибочные номера страниц, то в режиме просмотра страницы...
Расширение страниц редактирования/просмотра icon Внутренний предиктор СССР основы социологии
В случае, если Ваша система работает некорректно, и автоматически будут заданы ошибочные номера страниц, то в режиме просмотра страницы...
Расширение страниц редактирования/просмотра icon Инструкция пользователя diafan. Cms ver 3 Содержание Вход в панель...
Панель редактирования страниц сайта Набрав в строке адреса браузера (например: Internet Explorer, Firefox, Opera) адрес вида
Расширение страниц редактирования/просмотра icon Содержание Модуль «Список шаблонов»
Модуль «Список шаблонов» в составе по системы S. Builder предназначен для создания и редактирования шаблонов форматирования текста...
Расширение страниц редактирования/просмотра icon Руководство пользователя Книга № Импорт документов. Служебные операции в Системе
Программное обеспечение для поиска, просмотра веб-сайтов, то есть для запроса веб-страниц для их обработки, вывода и перехода от...
Расширение страниц редактирования/просмотра icon Руководство пользователя Приложение Б. Основные операции в системе...
Программное обеспечение для поиска, просмотра веб-сайтов, то есть для запроса веб-страниц для их обработки, вывода и перехода от...
Расширение страниц редактирования/просмотра icon 1. Обзор Софокла (Sophocles Overview)
Справа Окно редактирования (Edit Window), где пишется сценарий. Блоки Окна редактирования могут иметь цветную маркировку по типам...
Расширение страниц редактирования/просмотра icon 1 1 Модуль формирования и редактирования отраслевых слоёв
Модуль формирования и редактирования отраслевых слоев реализует следующие функции
Расширение страниц редактирования/просмотра icon Расширение возможностейпространства маркетизации Extending the Margins...
Расширение возможностейпространства маркетизацииExtending the Margins of Marketization
Расширение страниц редактирования/просмотра icon Техническое задание на выполнение работ и поставку оборудования по...
Рабочая документация «Расширение пс 110/15кв о-47 «Борисово» (шифр 25-08-08), разработанная ООО «Азимут-проект» в 2008 году
Расширение страниц редактирования/просмотра icon Руководство для авторов Технические требования к оформлению рукописей
Объём статьи допускается в форматах: 10 страниц, 12,5 и 15 страниц, включая нотные примеры, иллюстрации, cхемы, приложения, примечания,...
Расширение страниц редактирования/просмотра icon Исх. №09 от 07. 04. 2017 Коммерческое предложение. Предлагаем Вам...
Видеовыход квадратора на аналоговый монитор для on-line просмотра изображения. Запись координат от внешнего приемника gps или Глонасс,...
Расширение страниц редактирования/просмотра icon Конкурсная документация открытый одноэтапный конкурс без предварительного...
«Модернизация и расширение систем телемеханики и передачи информации» по «Программе повышения надежности и наблюдаемости енэс. Этап...
Расширение страниц редактирования/просмотра icon Техническое задание На предоставление права на использование по редактирования...
На предоставление права на использование по редактирования и визуализации управляющих программ для станков с чпу на условиях простой...
Расширение страниц редактирования/просмотра icon Инструкция по получению промежуточных результатов тестирования знаний...
Для просмотра промежуточных результатов тестирования знаний необходимо войти по ссылке
Расширение страниц редактирования/просмотра icon Руководство по эксплуатации Приложения для просмотра статистической...
Приложения для просмотра статистической информации по Ленинградской области на iPhone (далее – Приложение)

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




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