diff --git a/backend/pom.xml b/backend/pom.xml index f1fd8b9..720b531 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -1,18 +1,16 @@ - + 4.0.0 ervu_secret ervu_secret 1.0.0-SNAPSHOT - ervu_secret.ervu_secret backend war - - org.springframework.security spring-security-jwt @@ -26,34 +24,28 @@ jjwt-impl runtime - ervu_secret.ervu_secret resources runtime - ru.cg.webbpm.modules.reporting.reporting-jasper reporting-jasper-fonts runtime - org.ocpsoft.prettytime prettytime - org.jooq jooq - org.apache.santuario xmlsec - javax.servlet javax.servlet-api @@ -63,7 +55,6 @@ slf4j-api provided - org.springframework spring-core @@ -100,8 +91,6 @@ org.springframework spring-webmvc - - org.springframework.security spring-security-web @@ -110,14 +99,10 @@ org.springframework.security spring-security-config - - ru.cg.webbpm.modules inject - - ru.cg.webbpm.modules.bpmn bpmn-workflow-api @@ -142,7 +127,6 @@ ru.cg.webbpm.modules.bpmn bpmn-deploy - ru.cg.webbpm.modules webkit-rpc @@ -151,7 +135,6 @@ ru.cg.webbpm.modules webkit-beans - ru.cg.webbpm.modules.core core-runtime-api @@ -164,8 +147,6 @@ ru.cg.webbpm.modules.core error-handling-api - - ru.cg.webbpm.modules.database database-api @@ -174,7 +155,6 @@ ru.cg.webbpm.modules.database database-impl - ru.cg.webbpm.modules.jndi jndi-beans @@ -183,19 +163,15 @@ ru.cg.webbpm.modules.jndi jndi-inject - - com.sun.mail javax.mail - ru.cg.webbpm.modules.database database-test test - ru.cg.webbpm.modules standard-annotations @@ -220,8 +196,6 @@ ru.cg.webbpm.modules.security security-esia - - ru.cg.webbpm.modules.reporting reporting-api @@ -250,7 +224,6 @@ ru.cg.webbpm.modules.reporting.reporting-xdoc reporting-xdoc-runtime-impl - org.liquibase liquibase-core @@ -259,7 +232,6 @@ ru.cg.webbpm.modules webkit-base - ru.cg.webbpm.modules.security security-db-synchronization-api @@ -268,76 +240,65 @@ ru.cg.webbpm.modules.security security-db-synchronization-ldap-impl - xerces xercesImpl - com.google.guava guava - ru.micord.fias client - org.apache.tika tika-core - org.springframework.security.kerberos spring-security-kerberos-core - org.springframework.security.kerberos spring-security-kerberos-web - org.bouncycastle bcprov-jdk15on - org.bouncycastle bcpkix-jdk15on - org.mnode.ical4j ical4j - net.javacrumbs.shedlock shedlock-spring - net.javacrumbs.shedlock shedlock-provider-jdbc-template + + ru.cg.webbpm.packages.base + backend + - - org.apache.maven.plugins maven-compiler-plugin - false true 17 - org.codehaus.mojo build-helper-maven-plugin @@ -359,20 +320,12 @@ - studio - - - ru.cg.webbpm.modules.resources - resources-impl-development - - - org.apache.maven.plugins maven-war-plugin ${project.artifactId} @@ -380,6 +333,12 @@ + + + ru.cg.webbpm.modules.resources + resources-impl-development + + dev diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..3c84bbc --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,23 @@ +{ + "name": "webbpm-frontend", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@webbpm/base-package": { + "version": "3.175.0", + "resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.175.0.tgz", + "integrity": "sha512-37i/HbRtKGg3rxOzWkxhuD+FpgAtmUBKErXL81NlQyqAFCw6ag8oLjIncA3mEKc5gtmth9r5jKP6rrqB1qXrxw==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://repo.micord.ru/repository/npm-all/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json index 7fb71ad..960c3e2 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -27,6 +27,7 @@ "@angular/platform-browser-dynamic": "7.2.15", "@angular/router": "7.2.15", "@ng-bootstrap/ng-bootstrap": "4.1.1", + "@webbpm/base-package": "3.175.0", "ag-grid-angular": "29.0.0-micord.4", "ag-grid-community": "29.0.0-micord.4", "angular-calendar": "0.28.28", diff --git a/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml b/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml new file mode 100644 index 0000000..c962af6 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + ru.cg.webbpm.packages.base + resources + 3.175.0 + + Micord + + + scm:git:git://gitserver/webbpm/webbpm-components.git/resources + + + + micord + Micord Release repository + https://repo.micord.ru/repository/packages-releases-local/ + + + snapshots + Micord Snapshots repository + https://repo.micord.ru/repository/packages-snapshots-local/ + + + + 1.0.1.RELEASE + ${project.parent.basedir}/frontend/target + 3.19.3 + 5.10.2 + 1.60 + true + 3.175.0 + 1.4.200 + 0712144513 + UTF-8 + 1.10.0 + true + 3.175.0 + typescript.metadata.json + https://repo.micord.ru + MMddHHmmss + UTF-8 + ${project.parent.basedir}/backend/target + https://repo.micord.ru + java.metadata + + + + ru.cg.webbpm.packages.base + converters + 3.175.0 + compile + + + ru.cg.webbpm.packages.base + backend + 3.175.0 + compile + + + ru.cg.webbpm.packages.base + frontend + 3.175.0 + compile + + + + + micord-public + micord-public + https://repo.micord.ru/repository/maven-public + + + micord + micord + https://repo.micord.ru/repository/maven-micord + + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/MANIFEST.MF b/packages/ru.cg.webbpm.packages.base.resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..3121d98 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/MANIFEST.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Created-By: Maven Jar Plugin 3.2.0 +Build-Jdk-Spec: 17 + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components-package.xml b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components-package.xml new file mode 100644 index 0000000..65311b2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components-package.xml @@ -0,0 +1,30 @@ + + + + + containers + 11000 + + + grids + 10000 + + + editable-grids + 9000 + + + buttons + 8000 + + + fields + 6000 + + + filters + 5000 + + + META-INF/components/localization/default-components + \ No newline at end of file diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/BpmnStartProcessVariable.ts.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/BpmnStartProcessVariable.ts.html new file mode 100644 index 0000000..5534c8c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/BpmnStartProcessVariable.ts.html @@ -0,0 +1,71 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Описание: скрипт предназначен для записи значения объекта в переменную и передачи заполненной переменной в другой процесс во время его запуска.
+Скрипт накидывается на объект, значение которого мы хотим сохранить в переменную.

+ + + + + + + + + + + + + + + +
Наименование Назначение
Variable Name Строкой указываем имя переменной, в которую будет сохранено значение объекта. Переменная с таким именем (наименование должно быть идентичным) должна существовать в процессе, который будет запущен после текущего процесса.
Type Указывается тип переменной.
+

Механизм работы:

+

- в текущем процессе Test накинули скрипт BpmnStartProcessVariable на TextField, указали переменную var1. Переменная была создана в процессе Test2.
+- запускаем процесс Test2, в это время происходит поиск всех скриптов BpmnStartProcessVariable, записываются значения объектов в указанные переменные. Запускается процесс Test2, переменная var1 заполнена значением с TextField

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/index.html new file mode 100644 index 0000000..8a129bf --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/index.html @@ -0,0 +1,70 @@ + + + + + + + + Web-BPM Docs – Кнопки + + + + + + + +
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Как_добавить_кнопку_печати_из_графа_сущности_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Как_добавить_кнопку_печати_из_графа_сущности_на_страницу_.html new file mode 100644 index 0000000..3dac324 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Как_добавить_кнопку_печати_из_графа_сущности_на_страницу_.html @@ -0,0 +1,86 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку печати из графа сущности на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку печати из графа сущности на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка печати из графа сущности, при нажатии на которую будет сформирован отчет в формате XLSX. Кнопка печати отчета из формы будет иметь следующие настройки:

+
    + +
  • надпись поля -Печать
  • +
  • граф сущности - monthly_data
  • +
  • список передаваемых параметров с формы в шаблон*-2*
  • +
  • в параметр шаблона отчета первого элемента - Year
  • +
  • из поля таблицы первого элемента - year
  • +
  • в параметр шаблона отчета второго элемента - Month
  • +
  • из поля таблицы второгоэлемента -month**
  • +
  • шаблон файла отчета -приложение.jrxml
  • +
  • формат выходного файла -XLSX
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница уже создана бизнес-аналитиком, где имеется основная компонента Форма и шаблон файла отчета приложение.jrxml, в котором имеются входные параметры Year и Month. Для добавления на страницу и настройки кнопки печати из графа сущности необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка печати из графа сущности (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки печати из графа сущности на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Как_добавить_кнопку_печати_отчета_из_формы_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Как_добавить_кнопку_печати_отчета_из_формы_на_страницу_.html new file mode 100644 index 0000000..2aef9d5 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Как_добавить_кнопку_печати_отчета_из_формы_на_страницу_.html @@ -0,0 +1,87 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку печати отчета из формы на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку печати отчета из формы на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка печати отчета из формы, при нажатии на которую будет сформирован отчет в формате XLSX. Кнопка печати отчета из формы будет иметь следующие настройки:

+
    + +
  • надпись поля -Печать
  • +
  • компонент “Форма” - Форма
  • +
  • список передаваемых параметров с формы в шаблон - 2
  • +
  • в параметр шаблона отчета первого элемента - Date_Begin
  • +
  • из поля формыпервого элемента - DateTimePicker_date_form
  • +
  • в параметр шаблона отчета второго элемента - Date_End
  • +
  • из поля формывторогоэлемента -DateTimePicker_to_date**
  • +
  • шаблон файла отчета - приложение.jrxml
  • +
  • формат выходного файла -XLSX
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница уже создана бизнес-аналитиком, где имеется основная компонента Форма и шаблон файла отчета приложение.jrxml, в котором имеются входные параметры Date_Begin и Date_End. Для добавления на страницу и настройки кнопки печати отчета из формы необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка печати отчета из формы (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки печати отчета из формы на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Кнопка_печати_из_графа_сущности.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Кнопка_печати_из_графа_сущности.html new file mode 100644 index 0000000..6ba81b0 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Кнопка_печати_из_графа_сущности.html @@ -0,0 +1,118 @@ + + + + + + + + Web-BPM Docs – Кнопка печати из графа сущности + + + + + + +
+
+ + + +
+
+

Кнопка печати из графа сущности

+

Назначение

+

Кнопка печати из графа сущности - это компонента, которая используется для печати данных, источником который служат значения из графа сущности. В результате нажатия на кнопку формируется документ в одном из заданных форматов: ODT, PDF, DOCX, XLSX.

+

Компонента Кнопка печати из графа сущности находится в разделе Компоненты - Кнопки - Кнопка печати из графа сущности

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Печать
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите напечатать отчет?
Основные параметры (Формировать отчет по собственному графу) Позволяет задать настройки формирования отчета. Сохранить используя - позволяет задать объект,в котором будет происходить сохранение сформированного документа в базу. Скачать сразу после формирования - позволяет задать автоматическое скачивание сформированного отчета
Файл шаблона и передача параметров (Формировать отчет по собственному графу) Позволяет задать файл шаблона отчета и формат выходного файла Список передаваемых параметров с формы в шаблон - позволяет добавить элементы, которые будут печататься. Граф сущностей - выбор графа сущностей, откуда будут печататься данные. Шаблон файла отчета - позволяет задать jasper шаблон, на основе которого будет формироваться документ. Формат выходного файла - позволяет задать расширение формируемого документа (ODT, PDF, DOCX, XLSX, XLS, CSV)
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации скриптов (

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка печати из графа сущности от компоненты Кнопка печати отчета из формы Компонента Кнопка печати отчета из формы предназначена для формирования отчета, в который подставляются значения с формы, Кнопка печати из графа сущности предназначена для формирования отчета, в который подставляются значения из графа сущностей.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
Как в Jaspersoft Studio связать локальные параметры датасета c глобальными параметрами отчета Table -> Properties -> вкладка Dataset -> Parameters. Тут добавляйте параметр датасета и в Expression вставляйте необходимый глобальный параметр отчета (Подробнее тут)
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Кнопка_печати_отчета_из_формы.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Кнопка_печати_отчета_из_формы.html new file mode 100644 index 0000000..5cb023b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/reporting/Кнопка_печати_отчета_из_формы.html @@ -0,0 +1,117 @@ + + + + + + + + Web-BPM Docs – Кнопка печати отчета из формы + + + + + + +
+
+ + + +
+
+

Кнопка печати отчета из формы

+

Назначение

+

Кнопка печати отчета из формы - это компонента, которая используется для печати данных, источником который служат значения из формы страницы. В результате нажатия на кнопку формируется документ в одном из заданных форматов: ODT, PDF, DOCX, XLSX.

+

Компонента Кнопка печати отчета из формы находится в разделе Компоненты - Кнопки - Кнопка печати отчета из формы

+

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Печать
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите напечатать отчет?
Основные параметры (Формировать отчет из значений полей компонента “Форма”) позволяет задать настройки формирования отчета Сохранить используя - позволяет задать объект,в которомбудет происходить сохранение сформированного документа в базу. Скачать сразу после формирования - позволяет задать автоматическое скачивание сформированного отчета. Компонент Форма - позволяет задать объект типа Форма, поля которого печатаются по нажатию на кнопку
Файл шаблона и передача параметров (Формировать отчет из значений полей компонента “Форма”) позволяет задать файл шаблона отчета и формат выходного файла Список передаваемых параметров с формы в шаблон - позволяет добавить элементы, которые будут печататься. Шаблон файла отчета - позволяет задать jasper шаблон, на основе которого будет формироваться документ. Формат выходного файла - позволяет задать расширение формируемого документа (ODT, PDF, DOCX, XLSX, XLS, CSV).
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации скриптов (

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка печати отчета из формы от компоненты Кнопка печати из графа сущности Компонента Кнопка печати отчета из формы предназначена для формирования отчета, в который подставляются значения с формы, Кнопка печати из графа сущности предназначена для формирования отчета,в который подставляются значения из графа сущностей.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи. При использовании подотчетов (subreports) при разработке основного отчета в Jaspersoft Studio следует указывать полный путь до подотчетаотносительно папки resourcesстудии (в файловой системе resources/src/main/resources)
Как в Jaspersoft Studio связать локальные параметры датасета c глобальными параметрами отчета Table -> Properties -> вкладка Dataset -> Parameters. Тут добавляйте параметр датасета и в Expression вставляйте необходимый глобальный параметр отчета (Подробнее тут)
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_выбора_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_выбора_на_страницу_.html new file mode 100644 index 0000000..780706a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_выбора_на_страницу_.html @@ -0,0 +1,90 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку выбора на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку выбора на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка выбора, при нажатии на которую открывается страница с информацией по выбранной записи из таблицы реестра Рабочий журнал ЛВИ. Кнопка выбора будет иметь следующие настройки:

+
    + +
  • надпись поля -Открыть
  • +
  • возможность выбора более 1 записи - Не отмечено
  • +
  • компонент для выбора записей -Таблица
  • +
  • значение переменной навигации - open
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница уже создана бизнес-аналитиком, где имеется ***основные компоненты Форма и Таблица***. Для добавления на страницу и настройки кнопки выбора необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка выбора (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки выбора на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи, кнопка выбора не активна

+

рис.3. Визуальное отображение выполнения условий задачи, кнопка выбора активна

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_вызова_ошибки_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_вызова_ошибки_на_страницу_.html new file mode 100644 index 0000000..9901cd6 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_вызова_ошибки_на_страницу_.html @@ -0,0 +1,80 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку вызова ошибки на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку вызова ошибки на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка вызова ошибки, при нажатии на которую будет появляться сообщение об ошибки. Кнопка загрузки будет иметь следующие настройки:

+
    + +
  • надпись поля -Ошибка
  • +
  • задается наименование ошибки -Отсутствует соединение**
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***. Для добавления на страницу и настройки кнопки вызова ошибки необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка вызова ошибки (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки вызова ошибки на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_выполнения_SQL_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_выполнения_SQL_на_страницу_.html new file mode 100644 index 0000000..4f90de1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_выполнения_SQL_на_страницу_.html @@ -0,0 +1,103 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку выполнения SQL на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку выполнения SQL на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка выполнения SQL, при нажатии на которую будет выполняться SQL-скрипт. Кнопка выполнения SQL будет иметь следующие настройки:

+
    + +
  • + +

    надпись поля -В архив

    +
  • +
  • + +

    текст подтверждения при нажатии -Вы действительно хотите переместить выбранные задачи в архив?

    +
  • +
  • + +

    текст SQL запроса -

    +

    update tasks
    +set status_id =
    +(
    +select task_statuses_id
    +from task_statuses
    +where status_code =‘ARCHIVED’
    +)

    +

    where task_id=ANY(?)

    +
  • +
  • + +

    параметры запроса, элемент - Таблица “Задачи”, Таблица.Get Select Values

    +
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основная компонента Таблица “Задачи”***. Для добавления на страницу и настройки кнопки выполнения SQL необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка выполнения SQL (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки выполнения SQL на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2 Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_для_фильтрации_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_для_фильтрации_на_страницу_.html new file mode 100644 index 0000000..b88285c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_для_фильтрации_на_страницу_.html @@ -0,0 +1,81 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку для фильтрации на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку для фильтрации на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка для фильтрации, при нажатии на которую будет отфильтрован список организаций. Кнопка для фильтрации будет иметь следующие настройки:

+
    + +
  • надпись поля -Применить
  • +
  • компонет “Набор фильтров” - набор фильтров
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основные компоненты Форма и Набор фильтров***. Для добавления на страницу и настройки кнопки для фильтрации необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка для фильтрации (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки для фильтрации на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_загрузки_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_загрузки_на_страницу_.html new file mode 100644 index 0000000..10124e2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_загрузки_на_страницу_.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку загрузки на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку загрузки на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка загрузки, при нажатии на которую будет скачиваться файл из базы данных. Кнопка загрузки будет иметь следующие настройки:

+
    + +
  • поле должно иметь всплывающую подсказку -Для загрузки файла нажмите на кнопку
  • +
  • надпись поля - Скачать
  • +
  • текст подтверждения при нажатии -Вы действительно хотите скачать файл?
  • +
  • компонет для выбора записи - Таблица
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основные компоненты Форма и Таблица***. Для добавления на страницу и настройки кнопки загрузки необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка загрузки (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки загрузки на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_на_страницу_.html new file mode 100644 index 0000000..98ce06f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_на_страницу_.html @@ -0,0 +1,86 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка, которая будет иметь следующие настройки:

+
    + +
  • надпись поля -Перейти к заполнению реквизитов
  • +
  • скрипт -Вкладки. Управление “Вкладкой”. Переход из текущей на последующую
  • +
  • компонента “Вкладки” - Контейнер вкладок
  • +
  • шаг перехода к следующей вкладке (число) - 1
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница и бизнес процесс уже созданы бизнес-аналитиком. Настранице имеется основная компонента Форма, а в ней Контейнер вкладок и ***Вкладка***. Для добавления на страницу и настройки кнопки необходимо сделать следующее:

+
    + +
  • добавить внутрь Вкладки компоненту Кнопка (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки навигации на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+

При нажатии на кнопку происходит переход на вкладку “Реквизиты” (рис.3)

+

+

рис.3. Вкладка “Реквизиты”

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_навигации_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_навигации_на_страницу_.html new file mode 100644 index 0000000..5c6a22b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_навигации_на_страницу_.html @@ -0,0 +1,84 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку навигации на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку навигации на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка навигации, которая будет иметь следующие настройки:

+
    + +
  • надпись поля - Открыть
  • +
  • поле должно иметь всплывающую подсказку -Для редактирования нажмите на кнопку
  • +
  • значение переменной навигации -open
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница и бизнес процесс уже созданы бизнес-аналитиком. В процессе создана переменная open, а на странице имеется ***основная компонента Форма***. Для добавления на страницу и настройки кнопки навигации необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка навигации (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки навигации на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_отмены_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_отмены_на_страницу_.html new file mode 100644 index 0000000..c4d568c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_отмены_на_страницу_.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку отмены на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку отмены на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка отмены, которая будет иметь следующие настройки:

+
    + +
  • надпись поля -Отменить
  • +
  • поле должно иметь всплывающую подсказку -Для отмены нажмите на кнопку
  • +
  • поле должно иметь текст подтверждения при нажатии -Вы действительно хотите отменить изменения?
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основная компонента Форма***. Для добавления на страницу и настройки кнопки отмены необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка отмены (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки отмены на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_очистки_фильтра_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_очистки_фильтра_на_страницу_.html new file mode 100644 index 0000000..a27125a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_очистки_фильтра_на_страницу_.html @@ -0,0 +1,83 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку очистки фильтра на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку очистки фильтра на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка очистки фильтра, которая будет иметь следующие настройки:

+
    + +
  • надпись поля -Сбросить
  • +
  • компонет “Набор фильтров” -набор фильтров
  • +
  • сбросить значения фильтров на значения по умолчанию - отмечено
  • +
  • применить фильтры после сброса - отмечено
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основные компоненты Форма и Набор фильтров***. Для добавления на страницу и настройки кнопки для фильтрации необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка для фильтрации (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки очистки фильтра на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_сохранения_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_сохранения_на_страницу_.html new file mode 100644 index 0000000..8288286 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_сохранения_на_страницу_.html @@ -0,0 +1,86 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку сохранения на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку сохранения на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка сохранения, которая будет иметь следующие настройки:

+
    + +
  • надпись поля -Сохранить
  • +
  • поле должно иметь всплывающую подсказку -Для сохранения нажмите на кнопку
  • +
  • поле должно иметь текст подтверждения при нажатии -Вы действительно хотите сохранить изменения?
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основная компонента Форма***. Для добавления на страницу и настройки кнопки сохранения необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки сохранения на страницу

+

Для заполнения параметра Компонент “Форма” необходимо перетащить с помощью мыши объект “Основная форма страницы” из дерева структуры страницы в окно настройки параметров Кнопки сохранения.

+

Также существует удобная функциональность обратного быстрого перехода по дереву структуры страницы к задействованной компоненте посредством клика на параметре Компонент “Форма” Кнопки сохранения, когда есть необходимость уточнить, на какую именно компоненту в дереве ссылается интересующий параметр.

+

рис.2. Заполнение параметра Компонент “Форма”

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.3)

+

+

рис.3. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_удаления_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_удаления_на_страницу_.html new file mode 100644 index 0000000..e18c330 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Как_добавить_кнопку_удаления_на_страницу_.html @@ -0,0 +1,84 @@ + + + + + + + + Web-BPM Docs – Как добавить кнопку удаления на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить кнопку удаления на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Кнопка удаления, которая будет иметь следующие настройки:

+
    + +
  • надпись поля -Удалить
  • +
  • поле должно иметь всплывающую подсказку -Для удаления нажмите на кнопку
  • +
  • поле должно иметь текст подтверждения при нажатии -Вы действительно хотите удалить запись?
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страницауже создана бизнес-аналитиком, где имеется ***основная компонента Форма***. Для добавления на страницу и настройки кнопки сохранения необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Кнопка удаления (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление кнопки удаления на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка.html new file mode 100644 index 0000000..23e8347 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка.html @@ -0,0 +1,105 @@ + + + + + + + + Web-BPM Docs – Кнопка + + + + + + +
+
+ + + +
+
+

Кнопка

+

Кнопка - это компонента, которая не выполняет никаких действий, но на нее могут быть добавлены скрипты,которые позволят выполнять действий с формой (активация компонент, изменение свойств, т.д.), действий с переменными и действий над данными.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Перейти в реестр услуг
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите перейти в реестр услуг?
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации скриптов (

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка от компоненты Кнопка навигации Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка навигации используется для перехода по задачам процесса посредством заданной переменной.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выбора.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выбора.html new file mode 100644 index 0000000..7e8c43f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выбора.html @@ -0,0 +1,117 @@ + + + + + + + + Web-BPM Docs – Кнопка выбора + + + + + + +
+
+ + + +
+
+

Кнопка выбора

+

Назначение

+

Кнопка выбора - этокомпонента, которая используется для выбора одного или нескольких значений в компоненте Таблица. Кнопка выбора становится активной после выбора хотя бы одной записи.

+

Компонента Кнопка выбора находится в разделе Компоненты - Кнопки - Кнопка выбора

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Сохранить
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите сохранить изменения?
Возможность выбора более одной записи позволяет задать возможность выбора нескольких элементов в таблице активно - более 1, не активно - только 1
Компонент для выбора записи позволяет задать компоненту Таблица в которой будут выбраны элементы
Получить идентификатор выбранной записи позволяет записать идентификатор выбранной записи в переменную процесса
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка выбора от компоненты Кнопка Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены дополнительные функции, кнопка выборка используется для выбора данных на текущей форме.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_вызова_ошибки.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_вызова_ошибки.html new file mode 100644 index 0000000..601b852 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_вызова_ошибки.html @@ -0,0 +1,172 @@ + + + + + + + + Web-BPM Docs – Кнопка вызова ошибки + + + + + + +
+
+ + + +
+
+

Кнопка вызова ошибки

+

Назначение

+

Кнопка вызова ошибки - это компонента, которая используется для вызова события ошибки. При этом текущая страница будет закрыта и осуществлен переход по bpmn процессу.

+

Компонента Кнопка вызова ошибки находится в разделе Компоненты - Кнопки - Кнопка вызова ошибки

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Выполнить запрос
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите выполнить действие?
Наименование ошибки позволяет задать наименование ошибки пример возможного значения: Отсутсвует соединение
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Пример настройки

+

Настройка производится в дизайнере процессов и студии.

+

Настройка в дизайнере процессов

+

Промежуточное событие ошибки отражает факт возникновения и/или обработки ошибки в процессе.

+

На Task устанавливается Catching Intermediate Events → Error:

+

+

Таких событий на таск может быть установлено множество. Для того, чтобы осуществлять переход на нужное событие, мы должны прописать уникальную ссылку ErrorRef:

+

+

Это значит, что если по _ErrorButton придет значение “error-connect-client”, то будет выбрано наше событие ошибки.

+

Настройка в студии

+

Кидаем на страницу компонент ErrorButton.

+

Настраиваем его.

+

В свойство “Error Name” прописываем тот же ErrorRef (см. Настройка в дизайнере процессов), для того чтобы перейти на нужное событие ошибки.

+

+
    + +
  1. Добавляем ErrorButton на страницу
  2. +
  3. В поле errorName задаем имя ошибки.
  4. +
+


+

Обработка события в BPMN процессе

+

Обработать событие ошибки можно двумя способами:

+
    + +
  1. Повесить граничный слушатель события (boundary event) на текущий элемент (можно повесить на задачу, вызов подпросцесса, ad-hoc подпроцесс, embedded подпроцесс). В данном случае будет отлавливаться только событие произошедшее в рамках данного элемента.
  2. +
  3. Создать event подпроцесс, в котором стартовое событие будет типа Ошибка. Данный процесс будет обрабатывать событие произошедшее в любом месте диаграммы, в которой он находится.
  4. +
+

При этом в свойствах bpmn элемента события нужно поставить свойство _CancelActivity _в_true _и в _ErrorRef прописать имя ошибки (должно совпадать с указанным в кнопке).

+

+

Примеры:

+ + + + + + + + + + + + + + + + + + + + + +
Тип обработки Процесс
Прокидывание ошибки на уровень выше. Имя ошибки у начального и конечного события должно быть разным, иначе jbpm зациклится.
Обработка ошибки event подпроцессом
Граничный обработчик (boundary event)
Граничный обработчик на встроенном подпроцессе
+

вопрос: почему error event не прерывает остальные задачи?

+

По концепции bpmn события не должны сами по себе вызывать никаких действий в процессе. Если нужно прекратить исходную задачу, то нужно использовать прерывающий boundary event или event subprocess. В случае ошибки event subprocess обязан быть прерывающим.

+

В случае jbpm, у него есть особенность, что event subprocess прерывает действие родительского процесса не при старте, а при финише, соответственно получается что и задачи открыто две.

+

Частный случай предыдущего: в Embedded-подпроцессе error event и переход в подпроцесс:

+


+В этом случае процесс переходит в список задач с ошибкой. Нужно обходить указанную ситуацию с помощью первого примера типа обработки.

+

Доп. информация

+
    + +
  1. Описание BPMN событий от Camunda
  2. +
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
В каких случаях целесообразно использование кнопки вызова ошибки? Компонента Кнопка вызова ошибки предназначена для вызова события ошибки, она используется когда в bpmn процессе пользователю позволяется вызвать ошибку с последующим переходом на новую задачу.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выполнения_SQL.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выполнения_SQL.html new file mode 100644 index 0000000..aa5d763 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выполнения_SQL.html @@ -0,0 +1,117 @@ + + + + + + + + Web-BPM Docs – Кнопка выполнения SQL + + + + + + +
+
+ + + +
+
+

Кнопка выполнения SQL

+

Назначение

+

Кнопка выполнения SQL - это компонента, которая используется для асинхронного выполнения SQL-запроса без покидания/перезагрузки страницы.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Выполнить запрос
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите выполнить SQL запрос?
Набор параметров для выполнения запроса настройка связи источника значений для подстановки в переменные (параметры) запроса, указывается последовательный номер параметра в запросе (начиная с 1) и объект-источник значения
Тело SQL запроса к базе данных ввод текста SQL
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации скриптов(

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка выполнения SQL от компоненты Кнопка Компонента Кнопкане выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка выполнения SQLиспользуется для асинхронного выполнения SQL-запроса.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
Как получить для использования на странице результат выполнения запроса после того, как кнопка была нажата Следует воспользоваться методом компоненты getResult в компоненте Обработка событий. Однако, этот метод возвращает значение только строкового типа (String), поэтому полученное в результате значение может быть передано только в компонент, оперирующий текстовыми значениями.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выполнения_бизнес-процесса.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выполнения_бизнес-процесса.html new file mode 100644 index 0000000..174e9a7 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_выполнения_бизнес-процесса.html @@ -0,0 +1,86 @@ + + + + + + + + Web-BPM Docs – Кнопка выполнения бизнес-процесса + + + + + + +
+
+ + + +
+
+

Кнопка выполнения бизнес-процесса

+

ExecProcessButton - компонента для запуска определённого бизнес-процесса с возможностью первоначальной установки значений переменных процесса. При нажатии на кнопку выполняется процесс, указанный в параметре BusinessProcessToStart (Запускаемый процесс). Имеет событие завершения выполнения процесса и метод для получения переменных.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки строка
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку. Если не задать, то диалоговое окно не отобразиться строка
Бизнес-процесс для запуска (Модель процесса с переменными) наименование бизнес-процесса, который будет запущен при нажатии на кнопку относительный путь до файла, *.bpmn2, содержащий описание бизнес-процесса
Переменные (Модель процесса с переменными) наименование переменной bpmn-процесса, значение которой необходимо задать значение, соответствующее типу выбранной переменной процесса
Событие завершения бизнес-процесса (processCompleted) событие, которое можно использовать в AC, чтобы узнать, когда бизнес-процесс завершил свою работу
Метод получения результирующих переменных (getResult) метод, который можно использовать в AC, для получения результирующих переменных имя переменной
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_для_фильтрации.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_для_фильтрации.html new file mode 100644 index 0000000..84cf308 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_для_фильтрации.html @@ -0,0 +1,110 @@ + + + + + + + + Web-BPM Docs – Кнопка для фильтрации + + + + + + +
+
+ + + +
+
+

Кнопка для фильтрации

+

Назначение

+

Кнопка для фильтрации - это компонента, которая используется для срабатывания фильтра.

+

Компонента Кнопка для фильтрации находится в разделе Компоненты - Кнопки - Кнопка для фильтрации

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Применить
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите применить фильтрацию?
Набор фильтров позволяет задать компоненту Набор фильтров
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации скриптов (

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка для фильтрации от компоненты Кнопка Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка для фильтрации используется для срабатывания фильтра.
Все ли свойства компоненты обязательны для заполнения? Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_загрузки.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_загрузки.html new file mode 100644 index 0000000..f2030f4 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_загрузки.html @@ -0,0 +1,115 @@ + + + + + + + + Web-BPM Docs – Кнопка загрузки + + + + + + +
+
+ + + +
+
+

Кнопка загрузки

+

Назначение

+

Кнопка загрузки - это компонента, которая используется для скачивания файла.

+

Компонента Кнопка загрузки находится в разделе Компоненты - Кнопки - Кнопка загрузки

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Скачать
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите скачать файл?
Компонент для выбора записи позволяет задать компоненту Таблица из которой будет скачен файл
Скачать файл из базы данных позволяет задать таблицу базы данных из которой будет скачан файл
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации скриптов(

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка загрузки от компоненты Кнопка Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка навигациииспользуется для перехода по задачам процесса посредством заданной переменной.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_запуска_бизнес-процесса.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_запуска_бизнес-процесса.html new file mode 100644 index 0000000..c5f327d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_запуска_бизнес-процесса.html @@ -0,0 +1,81 @@ + + + + + + + + Web-BPM Docs – Кнопка запуска бизнес-процесса + + + + + + +
+
+ + + +
+
+

Кнопка запуска бизнес-процесса

+

Кнопка запуска BPMN-процесса - компонента для запуска определённого бизнес-процесса с возможностью первоначальной установки значений переменных процесса. При нажатии на кнопку запускается процесс, указанный в параметре BusinessProcessToStart (Запускаемый процесс) и происходит переход на первую страницу процесса. Текущие процесс и задача, при этом, не завершаются. Таким, образом, кнопка может бить использована на статических страницах, которые не привязаны к задачам бизнес-процессов.

+

Компонента Кнопка запуска BPMN-процесса находится в разделе Компоненты - Кнопки - Кнопка запуска BPMN-процесса.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Открыть карточку
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите открыть карточку услуги?
Бизнес процесс для запуска (Модель процесса с переменными) Наименование бизнес-процесса, который будет запущен при нажатии на кнопк Относительный путь до файла, *.bpmn2, содержащий описание бизнес-процесса
Переменные (Модель процесса с переменными) Наименование переменной bpmn-процесса, значение которой необходимо задать Значение, соответствующее типу выбранной переменной процесса
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_навигации.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_навигации.html new file mode 100644 index 0000000..1f9ca2f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_навигации.html @@ -0,0 +1,107 @@ + + + + + + + + Web-BPM Docs – Кнопка навигации + + + + + + +
+
+ + + +
+
+

Кнопка навигации

+

Кнопка навигации - это компонента, которая используется для навигации по задачам процесса. При нажатии на кнопку текущая задача закрывается. Компонента Кнопка навигации находится в разделе Компоненты - Кнопки - Кнопка навигации

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Открыть карточку
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите открыть карточку услуги?
Значение переменной навигации позволяет задать значение, которое принимает переменная процесса. пример возможного значения: open
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка навигации от компоненты Кнопка Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка навигации используется для перехода по задачам процесса посредством заданной переменной.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_отмены.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_отмены.html new file mode 100644 index 0000000..02659fe --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_отмены.html @@ -0,0 +1,107 @@ + + + + + + + + Web-BPM Docs – Кнопка отмены + + + + + + +
+
+ + + +
+
+

Кнопка отмены

+

Назначение

+

Кнопка отмены - это компонента, которая используется для завершения таска без сохранения внесенных изменений на форме страницы.

+

Компонента Кнопка отмены находится в разделе Компоненты - Кнопки - Кнопка отмены

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Отмена
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите отменить изменения?
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации скриптов(

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка отмены от компоненты Кнопка? Компонента Кнопкане выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка отмены используется для сброса внесенных изменений на текущей форме.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_очистки_фильтра.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_очистки_фильтра.html new file mode 100644 index 0000000..919445d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_очистки_фильтра.html @@ -0,0 +1,118 @@ + + + + + + + + Web-BPM Docs – Кнопка очистки фильтра + + + + + + +
+
+ + + +
+
+

Кнопка очистки фильтра

+

Назначение

+

Кнопка очистки фильтра - это компонента, которая используется для очищения полей фильтра.

+

Компонента Кнопка очистки фильтра находится в разделе Компоненты - Кнопки - Кнопка очистки фильтра

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Сбросить
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите сбросить фильтрацию?
Набор фильтров позволяет задать компоненту Набор фильтров
Сбросить значение фильтров на значение по умолчанию при нажатии на кнопку возвращает значения заданных фильтров к значениям по умолчанию не сбрасывать - значение по умолчанию
Применить фильтры после сброса позволяет задать возможность возврата фильтруемой Таблицы в первоначальное состояние при нажатии на кнопку не применять значения фильтров - значение по умолчанию
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации скриптов (

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка очистки фильтра от компоненты Кнопка? Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка очистки фильтра используется для очищения полей фильтра.
Все ли свойства компоненты обязательны для заполнения? Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_подписи.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_подписи.html new file mode 100644 index 0000000..34b30fd --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_подписи.html @@ -0,0 +1,152 @@ + + + + + + + + Web-BPM Docs – Назначение компонента + + + + + + +
+
+ + + +
+
+

Назначение компонента

+

Составной компонент SignButton служит для создания электронной подписи и отображения подписываемых данных

+

Настройка компонента

+

Настройка скрипта SignButton: в HBox → SignButton

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию Параметр обязателен
Sign Type Выбор типа электронной подписи. Возможные варианты: CMS, CADES_BES, CADES_T, CADES_X_LONG_TYPE_1 - да
Selectable Component Объект для выбора подписываемого документа из списка. Необходим для получения id подписываемого документа, если не указана переменная процесса documentId в SignButtonRpcService. В случае, если указан и Document Id, и Selectable Component, то по приоритету будет взят id, выбранный пользователем из Selectable Component. - Обязательно заполнение либо Document Id, либо Selectable Component
Complete Task After Signing В случае значения true, после подписания текущий таск будет завершен - да
Navigate To Параметр для перенаправления пользователя после завершения текущего таска. Параметр не используется, если completeTaskAfterSigning = false - нет
Реализация провайдера электронной подписи Для использования конкретной реализации электронной подписи. Необходимо добавить соответствующий ts-файл в объект SignButton. На данный момент есть две реализации: EsmartPlugin.ts и CadesPluginApi.ts. При использовании EsmartPlugin.ts и типа подписи CADES_T необходимо указать системную переменную webbpm_components.electronic_sign.esmart_extension_url со ссылкой для расширения подписи “_dsig/ibs_dSig.asmxhttp://dsig.ibsdemo.ru/ibs - да
Other Остальные параметры настраивать только в случае, если не устраивает стандартное устройство компонента
+

Настройка скрипта SignButtonRpcService: HBox → SignButton

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию Параметр обязателен
Document Id Параметр необходим для получения Id подписываемого документа, если не указан параметр Selectable Component со списком записей. В случае, если указан и Document Id, и Selectable Component, то по приоритету будет взят id, выбранный пользователем из Selectable Component. - Обязательно заполнение либо Document Id, либо Selectable Component
Document Provider Провайдер подписываемых данных. Реализация класса ru.cg.webbpm.electronic_sign.DocumentProvider. - да
Document Dao Класс для сохранения и получения подписанных данных. Реализация класса ru.cg.webbpm.electronic_sign.DocumentDao - да
+

Сценарий использования кнопки подписи:

+
    + +
  1. + +

    Пользователь в процессе работы над документом или после его выбора в списке уже созданных нажимает на кнопку “Подписать”

    +
  2. +
  3. + +

    Если подходящий сертификат для подписания единственен, то окно выбора отображено не будет; в противном случае пользователь должен выбрать подходящий сертификат в окне “Выбор сертификата”.

    +
  4. +
  5. + +

    Пользователю выводится окно ввода пароля с возможностью отмены операции

    +
  6. +
  7. + +

    Происходит подписание документа, сохранение подписи в байтах в базе данных

    +
  8. +
+

КриптоПро

+

Для работы компоненты требуется установить КриптоПро CSP и КриптоПро ЭЦП Browser plug-in. Тестовый сертификат можно получить тут, при этом нужно установаить сертификат тестового центра как довереный корневой сертификат. Страница проверки работы плагина.

+

Esmart

+

Для работы компоненты требуется установить:

+
    + +
  • 32-битную firefox версии 38 - 52 (рекомендуется 52.5.2esr).
  • +
  • PKI Client и ESMART Token Web Плагин последних версий с официального сайта ESMART - demo.esmart.ru.
  • +
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_проверки_подписи.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_проверки_подписи.html new file mode 100644 index 0000000..ba21c46 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_проверки_подписи.html @@ -0,0 +1,100 @@ + + + + + + + + Web-BPM Docs – Назначение компонента + + + + + + +
+
+ + + +
+
+

Назначение компонента

+

Составной компонент SignVerification служит для проверки электронной подписи и отображения подписанных данных.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию Параметр обязателен
Sign Type Выбор типа электронной подписи. Возможные варианты: CMS, CADES_BES, CADES_T, CADES_X_LONG_TYPE_1 - да
Use Verify Chain Значение true указывает, что необходимо проверить цепочку сертификатов, false - не проверять цепочку, в этом случае проверяется только подпись. - по умолчанию, цепочка сертификатов не используется нет
Реализация провайдера электронной подписи Для использования конкретной реализации электронной подписи. Необходимо добавить соответствующий ts-файл в объект SignVerificationButton. На данный момент есть две реализации: EsmartPlugin.ts и CadesPluginApi.ts. При использовании EsmartPlugin.ts и типа подписи CADES_T необходимо указать системную переменную webbpm_components.electronic_sign.esmart_extension_url со ссылкой для расширения подписи “_dsig/ibs_dSig.asmxhttp://dsig.ibsdemo.ru/ibs - да
Document Id Параметр необходим для получения Id подписываемого документа. - да
Document Provider Провайдер подписываемых данных. Реализация класса ru.cg.webbpm.electronic_sign.DocumentProvider. - да
Document Dao Класс для сохранения и получения подписанных данных. Реализация класса ru.cg.webbpm.electronic_sign.DocumentDao - да
+

Компонента проверки отображает корректность электронной подписи с помощью иконки:

+
    + +
  • Красного цвета в том случае, если электронная подпись не валидна
  • +
  • Зеленого цвета в том случае, если электронная подпись валидна
  • +
  • Серого цвета в том случае, если актовая запись не подписана
  • +
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_сохранения.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_сохранения.html new file mode 100644 index 0000000..1813cc1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_сохранения.html @@ -0,0 +1,112 @@ + + + + + + + + Web-BPM Docs – Кнопка сохранения + + + + + + +
+
+ + + +
+
+

Кнопка сохранения

+

Назначение

+

Кнопка сохранения - это компонента, которая используется для завершения задачи с сохранением данных на форме страницы. Компонента Кнопка сохранения находится в разделе Компоненты - Кнопки - Кнопка сохранения

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Сохранить
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите сохранить изменения?
Компонент “Форма” позволяет задать основную компоненту Форма поля которой сохранятся при нажатии на кнопку
Complete Task позволяет задать будет ли завершена текущая задача
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка сохранения от компоненты Кнопка? Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены дополнительные функции, кнопка сохранения используется для сохранения данных на текущей форме.
Все ли свойства компоненты обязательны для заполнения Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_удаления.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_удаления.html new file mode 100644 index 0000000..1e5158e --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопка_удаления.html @@ -0,0 +1,110 @@ + + + + + + + + Web-BPM Docs – Кнопка удаления + + + + + + +
+
+ + + +
+
+

Кнопка удаления

+

Назначение

+

Кнопка удаления - это компонента, которая используется для удаления элементов из Таблица.

+

Компонента Кнопка удаления находится в разделе Компоненты - Кнопки - Кнопка удаления

+

Свойства

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Удалить
Текст подтверждения при нажатии позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку пример возможного значения: Вы действительно хотите удалить запись?
Удалить из таблицы позволяет задать основную компоненту Таблица из которой будет удалена запись
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки

+

Вследствие технических особенностей реализации скриптов(

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Кнопка удаления от компоненты Кнопка? Компонента Кнопка не выполняет никаких действий, но на нее могут быть добавлены скрипты, кнопка удаления используется для удаления записи из таблицы.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопки.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопки.html new file mode 100644 index 0000000..e4d7a8b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/buttons/Кнопки.html @@ -0,0 +1,69 @@ + + + + + + + + Web-BPM Docs – Кнопки + + + + + + + +
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/ContainerValueByEventLoader_и_ContainerValueByEventLoaderRpcService.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/ContainerValueByEventLoader_и_ContainerValueByEventLoaderRpcService.html new file mode 100644 index 0000000..1ea9472 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/ContainerValueByEventLoader_и_ContainerValueByEventLoaderRpcService.html @@ -0,0 +1,53 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Описание: Скрипты предназначены для подгрузки значений в контейнеры по массиву параметров, которая происходит после заданных событий.

+

Использование:

+

Настройка внутри контейнера - На контейнере в скрипте ContainerValueByEventLoader.ts в массив “Params” добавить объекты и выбрать их параметры, по которым будет происходить подгрузка. В массив “Events Refs” добавить объекты и выбрать события, после которых будет отрабатывать подгрузка. - В скрипте ContainerValueByEventLoaderRpcService.java, в комбобоксе “Script” выбрать необходимую реализацию сервиса(к примеру ContainerByPkValueLoaderServiceImpl). Настроить Load Dao выбрав необходимую реализацию скрипта и настроить граф сущностей.

+

Настройка внутри объекта - На объектах в которые будет происходить подгрузка (к примеру в TextField это TextFieldValueByEvent) задать параметр, аналогично DefaultValue.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/index.html new file mode 100644 index 0000000..49882b8 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/index.html @@ -0,0 +1,130 @@ + + + + + + + + Web-BPM Docs – Контейнеры + + + + + + +
+
+ + + +
+
+

Контейнеры

+
+

Правила наследования значений свойств Подлежит сохранению, Обязательность дочерними компонентами, входящими в состав родительской компоненты контейнера

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
значение свойства у компоненты-контейнера значение свойства дочерней компоненты итоговое значение свойства
True True True
True False False
False True False
False False False
Undefined True True
Undefined False False
+

Правила наследования значений свойства Видимость дочерними компонентами, входящими в состав родительской компоненты контейнера

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
значение свойства у компоненты-контейнера значение свойства дочерней компоненты итоговое значение свойства
True True True
True False False
False True False
False False False
+

Скрипты - Дополнительная подгрузка

+

Функции - Стили контейнеров

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вертикальный_контейнер.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вертикальный_контейнер.html new file mode 100644 index 0000000..8c1ab99 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вертикальный_контейнер.html @@ -0,0 +1,162 @@ + + + + + + + + Web-BPM Docs – Вертикальный контейнер + + + + + + +
+
+ + + +
+
+

Вертикальный контейнер

+

Назначение

+

Вертикальный контейнер - это невидимая компонента-контейнер, которая позволяет расположить внутри себя набор видимых компонент в вертикальной последовательности, когда каждая следующая видимая компонента находится на новой строке под предыдущей.

+

Используется для оптимизации расположения компонентов в интерфейсе системы, обеспечивая возможность группировки и логического объединения компонентов в определенных секторах web-страницы и общее эстетическое и интуитивное восприятие экранного интерфейса пользователем системы.

+

Как правило, в состав Вертикального контейнера включаются визуальные компоненты, но также Вертикальные контейнеры могут быть размещены обособлено в дереве редактора интерфейса для облегчения чтения аналитиком структуры страницы ивключать в себя невизуальные компоненты для служебного использования (предзагрузка значений переменных процесса в компоненты, компоненты с подгруженными значениями по умолчанию, компоненты Обработка событий и т.п.)

+

Компонента Вертикальный контейнер находится в разделе Компоненты - Контейнеры - Вертикальный контейнер

+

Свойства

+

Компонента имеет набор общих свойств и подгрузка данных по умолчанию

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (

+

- функции, которые выполняются удаленно на сервере приложений,

+

- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO: описать

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
В чем заключаются лучшие практики использования контейнеров? Чаще всего контейнерами зонируют экранный интерфейс, чтобы добиться эргономичного расположения компонентов на web-странице. Например, в горизонтальный контейнер вкладывают несколько вертикальных, добиваясь, колончатой структуры страницы. Пример такой реализации можно посмотреть в методических рекомендациях по применению.
Что происходит в горизонтальном контейнере, если ширины экрана не хватает для размещения в горизонтальном направлении всех компонент? После заполнения всей доступной ширины web-страницы, система автоматически начинает переносить оставшиеся компоненты на строчку ниже и продолжать заполнять ими ширину экрана, располагая оставшиеся компоненты друг за другом в горизонтальной последовательности.
Насколько глубокую иерархию вложенности можно создать, комбинируя контейнеры между собой? Теоретически, глубина вложенности контейнеров разного типа друг в друга не ограничена. Но на практике комбинирование вложенностью контейнеров применяется для решения конкретной проблемы эргономичного расположения визуальных компонентов на странице.
Чем отличается функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойств обычной компоненты? Функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера отличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнерана все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если увложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значение соответствующего свойства у вложенной компоненты Ложь, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+

Правила наследования значений свойств Подлежит сохранению, Обязательность дочерними компонентами, входящими в состав родительской компоненты контейнера

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
значение свойства у компоненты-контейнера значение свойства дочерней компоненты итоговое значение свойства
True True True
True False False
False True False
False False False
Undefined True True
Undefined False False
+

Правила наследования значений свойства Видимость дочерними компонентами, входящими в состав родительской компоненты контейнера

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
значение свойства у компоненты-контейнера значение свойства дочерней компоненты итоговое значение свойства
True True True
True False False
False True False
False False False
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладка.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладка.html new file mode 100644 index 0000000..a7036c8 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладка.html @@ -0,0 +1,92 @@ + + + + + + + + Web-BPM Docs – Вкладка + + + + + + +
+
+ + + +
+
+

Вкладка

+

Назначение

+

Вкладка - невидимая компонента, используемая только совместно и внутри компоненты Контейнер вкладок, в свою очередь, сама является вышестоящим контейнером для дочерних визуальных компонент, которые аналитик планирует разместить в ограниченном пространстве экранного интерфейса. В запущенном приложении выбранная пользователем вкладка отображается поверх других вкладок, не занимая дополнительного места на web странице и закрывая своим содержимым содержимое других вкладок.

+

Используется для оптимизации расположения визуальных компонент в интерфейсе системы, обеспечивая возможность группировки и логического объединения компонент в определенных зонах web-страницы и общее эстетическое и интуитивное восприятие экранного интерфейса пользователем системы.

+

Компонента Вкладка схожа с компонентой Вертикальный контейнер и без дополнительных манипуляций располагает включенные в нее визуальные компоненты в вертикальной последовательности.

+

Компонента Вкладка находится в разделе Компоненты - Контейнеры - Вкладка

+

Свойства

+

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

+

Дополнительные функции

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO: описать

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли в компоненту Вкладка вложить другие контейнеры (Вертикальный, Горизонтальный)? Не только можно, но и должны быть вложены для горизонтального и вертикального выравнивания пользовательского интерфейса
Можно ли расположить визуальные компоненты сразу в Контейнер вкладок, а не в компоненте Вкладка ? Можно, но тогда Контейнер вкладок ничем не будет отличаться от Вертикальный контейнер
Чем отличается функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойств обычной компоненты? Функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера отличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнера на все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если у вложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значение соответствующего свойства у вложенной компоненты Ложь, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_из_текущей_на_последующую.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_из_текущей_на_последующую.html new file mode 100644 index 0000000..a4804fa --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_из_текущей_на_последующую.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Вкладки. Управление Вкладкой. Переход из текущей на последующую + + + + + + +
+
+ + + +
+
+

Вкладки. Управление “Вкладкой”. Переход из текущей на последующую

+

Функция, которая используется при работе с компонентой Контейнер вкладок со вложенными компонентами Вкладка и позволяет перейти из текущей вкладки на последующую в пользовательском приложении. Может быть активирована только на компоненте Кнопка.

+

Особенности функции:

+
    + +
  • в запущенном приложении исполняется явно (не требует использования компоненты “Обработка событий” и формирования алгоритма работы с задействованием вновь предоставляемых методов)
  • +
  • имеет параметры для настройки аналитиком
  • +
+

+

Рис. 1 Внешний вид активированной функции

+

Параметры функции

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Пример заполнения
Компонента Вкладки позволяет указать компоненту Контейнер вкладок, на котором размещены вкладки
Шаг перехода к следующей вкладке позволяет указать количество шагов, на которые нужно перейти пример возможного значения: 1
+

Пример настройки и применения

+

+

Рис.1 Активация функции на компоненте Кнопки

+
+
+
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_из_текущей_на_предыдущую.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_из_текущей_на_предыдущую.html new file mode 100644 index 0000000..4999b57 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_из_текущей_на_предыдущую.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Вкладки. Управление Вкладкой. Переход из текущей на предыдущую + + + + + + +
+
+ + + +
+
+

Вкладки. Управление “Вкладкой”. Переход из текущей на предыдущую

+

Функция, которая используется при работе с компонентой Контейнер вкладок со вложенными компонентами Вкладка и позволяет перейти из текущей вкладки на предыдущую в пользовательском приложении. Может быть активирована только на компоненте Кнопка.

+

Особенности функции:

+
    + +
  • в запущенном приложении исполняется явно (не требует использования компоненты “Обработка событий” и формирования алгоритма работы с задействованием вновь предоставляемых методов)
  • +
  • имеет параметры для настройки аналитиком
  • +
+

+

Рис. 1 Внешний вид активированной функции

+

Параметры функции

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Пример заполнения
Компонента Вкладки позволяет указать компоненту Контейнер вкладок, на котором размещены вкладки
Шаг перехода к следующей вкладке позволяет указать количество шагов, на которые нужно перейти пример возможного значения: 1
+

Пример настройки и применения

+

+

Рис.1 Активация функции на компоненте Кнопки

+
+
+
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_на_вкладку_по_номеру.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_на_вкладку_по_номеру.html new file mode 100644 index 0000000..5c41c06 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Вкладки_Управление_Вкладкой_Переход_на_вкладку_по_номеру.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Вкладки. Управление Вкладкой. Переход на вкладку по номеру + + + + + + +
+
+ + + +
+
+

Вкладки. Управление “Вкладкой”. Переход на вкладку по номеру

+

Функция, которая используется при работе с компонентой Контейнер вкладок со вложенными компонентами Вкладка и позволяет перейти из текущей вкладки на указанную в функции вкладку в пользовательском приложении. Может быть активирована только на компоненте Кнопка.

+

Особенности функции:

+
    + +
  • в запущенном приложении исполняется явно (не требует использования компоненты “Обработка событий” и формирования алгоритма работы с задействованием вновь предоставляемых методов)
  • +
  • имеет параметры для настройки аналитиком
  • +
+

+

Рис. 1 Внешний вид активированной функции

+

Параметры функции

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Пример заполнения
Компонента Вкладки позволяет указать компоненту Контейнер вкладок, на котором размещены вкладки
Шаг перехода к следующей вкладке позволяет указать номер вкладки (начиная с 0), на которую нужно перейти пример возможного значения: 1
+

Пример настройки и применения

+

+

Рис.1 Активация функции на компоненте Кнопки

+
+
+
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Горизонтальный_контейнер.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Горизонтальный_контейнер.html new file mode 100644 index 0000000..024dbcd --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Горизонтальный_контейнер.html @@ -0,0 +1,98 @@ + + + + + + + + Web-BPM Docs – Горизонтальный контейнер + + + + + + +
+
+ + + +
+
+

Горизонтальный контейнер

+

Назначение

+

Горизонтальный контейнер - это невидимая компонента-контейнер, которая позволяет расположить внутри себя набор видимых компонент в горизонтальной последовательности, когда каждая последующая видимая компонента находится справа от предыдущей.

+

Используется для оптимизации расположения компонентов в интерфейсе системы, обеспечивая возможность группировки и логического объединения компонентов в определенных секторах web-страницы и общее эстетическое и интуитивное восприятие экранного интерфейса пользователем системы.

+

Как правило, в состав Горизонтального контейнера включаются визуальные компоненты, но также Горизонтальные контейнеры могут быть размещены обособлено в дереве редактора интерфейса для облегчения чтения аналитиком структуры страницы и включать в себя невизуальные компоненты для служебного использования (предзагрузка значений переменных процесса в компоненты, компоненты с подгруженными значениями по умолчанию, компоненты Обработка событий и т.п.)

+

Компонента Горизонтальный контейнер находится в разделе Компоненты - Контейнеры - Горизонтальный контейнер

+

Свойства

+

Компонента имеет набор общих свойств и подгрузка данных по умолчанию

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (

+

- функции, которые выполняются удаленно на сервере приложений,

+

- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO: описать

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
В чем заключаются лучшие практики использования контейнеров? Чаще всего контейнерами зонируют экранный интерфейс, чтобы добиться эргономичного расположения компонентов на web-странице. Например, в горизонтальный контейнер вкладывают несколько вертикальных, добиваясь, колончатой структуры страницы. Пример такой реализации можно посмотреть в методических рекомендациях по применению.
Что происходит в горизонтальном контейнере, если ширины экрана не хватает для размещения в горизонтальном направлении всех компонент? После заполнения всей доступной ширины web-страницы, система автоматически начинает переносить оставшиеся компоненты на строчку ниже и продолжать заполнять ими ширину экрана, располагая оставшиеся компоненты друг за другом в горизонтальной последовательности.
Насколько глубокую иерархию вложенности можно создать, комбинируя контейнеры между собой? Теоретически, глубина вложенности контейнеров разного типа друг в друга не ограничена. Но на практике комбинирование вложенностью контейнеров применяется для решения конкретной проблемы эргономичного расположения визуальных компонентов на странице
Чем отличается функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойствобычной компоненты? Функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера отличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнера на все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если у вложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значение соответствующего свойства у вложенной компоненты Ложь, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Группа_полей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Группа_полей.html new file mode 100644 index 0000000..196e3a9 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Группа_полей.html @@ -0,0 +1,123 @@ + + + + + + + + Web-BPM Docs – Группа полей + + + + + + +
+
+ + + +
+
+

Группа полей

+

Назначение

+

Группа полей - это визуальная компонента-контейнер, которая позволяет расположить внутри себя набор других видимых компонент в вертикальной последовательности, когда каждая следующая видимая компонента находится на новой строке под предыдущей. По функциональности компонента Группа полей очень близка к компоненте Вертикальный контейнер и отличается от него только визуальным обозначением границ контейнера и возможностью дать заголовок.

+

Используется для оптимизации расположения компонентов в интерфейсе системы, обеспечивая возможность группировки и логического объединения компонентов в определенных секторах web-страницы и общее эстетическое и интуитивное восприятие экранного интерфейса пользователем системы.

+

Компонента Группа полей находится в разделе Компоненты - Контейнеры - Группа полей

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет указать тест заголовка для контейнера Группа полей пример возможного значения: Общие сведения
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации функций(

+

- функции, которые выполняются удаленно на сервере приложений,

+

- функции, которые выполняются в браузере пользователя),

+

они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO: описать

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
В чем заключаются лучшие практики использования контейнеров? Чаще всего контейнерами зонируют экранный интерфейс, чтобы добиться эргономичного расположения компонентов на web-странице. Контейнер Группа полей используется для объединения логически родственных полей ввода и отображения информации в видимую область на экране и явного наименования этой области объединяющим заголовком. По функциональности компонента Группа полей очень близка к компоненте Вертикальный контейнер и отличается от него только визуальным обозначением границ контейнера и возможностью дать заголовок. Все возможности взаимного комбинирования разных видов компонент - контейнеров внутри компоненты-контейнера Группа полей остаются такими же, как и у других компонент-контейнеров.
Насколько глубокую иерархию вложенности можно создать, комбинируя контейнеры между собой Теоретически, глубина вложенности контейнеров разного типа друг в друга не ограничена. Но на практике комбинирование вложенностью контейнеров применяется для решения конкретной проблемы эргономичного расположения визуальных компонентов на странице.
Чем отличается функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойств обычной компоненты Функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера отличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнера на все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если у вложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значение соответствующего свойства у вложенной компоненты Ложь, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+

Пример настройки

+

Задача: сгруппировать поля в панель с рамочкой “Паспортные данные”:

+

+

1.Добавить компонент FieldSet на страницу:

+

+
    + +
  1. Добавить компоненты, которые хотите сгруппировать на панели с рамочкой:
  2. +
+

+

. Настройте свойство Label для добавленных компонентов.

+

. Задайте текст заголовка панели в свойстве heading компонента FieldSet:

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог.html new file mode 100644 index 0000000..a019508 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог.html @@ -0,0 +1,118 @@ + + + + + + + + Web-BPM Docs – Диалог + + + + + + +
+
+ + + +
+
+

Диалог

+

Назначение

+

Диалог - это компонента, которая используется для отображения всплывающего диалогового окна на форме страницы. В зависимости от решаемой задачи, по усмотрению бизнес-аналитика, элемент может включать в себя другие компоненты из библиотеки.

+

Свойства

+

Каждая компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет задать заголовок диалога на странице
TODO: переименовать Допускается скрытие через системную позволяет задать возможность закрытия диалога по нажатию на системный - возможно закрыть диалог через . Значение по умолчанию - невозможно закрыть диалог (системный скрыт)
TODO: адаптироватьresetValidationStatus позволяет сбросить значения и валидацию полей диалога после его скрытия true - сбрасывать валидацию, false - нет
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации функций (

+

- функции, которые выполняются удаленно на сервере приложений,

+

- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO: описать

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
В каких случаях чаще всего используется элемент Диалог? В большинстве случаев, Диалог используется для вывода уведомлений, предупреждений и дополнительной информации пользователю.
Как управлять видимостью компоненты Диалог? Регулировать видимость Диалога можно с помощью Обработчика событий, где для Диалога необходимо задействовать методы “Показать”, “Скрыть”, но не метод “Задать видимость”
Как задать возможность закрытия всплывающего Диалога на странице по нажатию на Кнопку? Для того, чтобы реализовать возможность закрытия Диалога по нажатию на конкретную Кнопку, необходимо добавить на страницу Обработчик событий с соответствующим условием: Если произошло нажатие на Кнопку, тогда скрывать Диалог.
Может ли Диалог выступать в качестве самостоятельного элемента на странице приложения? Нет, Диалог всегда должен содержать в себе вложенные элементы (статичный Текст или Кнопки), иначе его применение не целесообразно.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог_Вызвать.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог_Вызвать.html new file mode 100644 index 0000000..4daacc7 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог_Вызвать.html @@ -0,0 +1,78 @@ + + + + + + + + Web-BPM Docs – Диалог. Вызвать + + + + + + +
+
+ + + +
+
+

Диалог. Вызвать

+

Функция, которая в режиме исполнения приложения (runtime mode) позволяет вызвать заданное в настройках функции модальное диалоговое окно поверх основной web-страницы экранного интерфейса.

+

Без взаимодействия с этим модальным диалоговым окном, которое впоследствии должно завершиться его закрытием в соответствии с каким-либо алгоритмом, пользователь не сможет продолжить работу с основной web-страницы экранного интерфейса.

+

Функция может быть активирована на любом из видов компоненты Кнопка, но обычной практикой является использование функции Диалог. Вызватьс компонентой Кнопка.

+

+

Рис. 1 Внешний вид активированной функции

+

Параметры функции (табл.1)

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Вызвать диалог Ссылка на компоненту Диалог, обязательный. позволяет указать компоненту Диалог для вызова модального окна поверх основной web-страницы экранного интерфейса
+

Пример настройки и применения

+

+

Рис.2 Активация функции на компоненте Кнопка

+

+

Рис. 3 Компонента Диалог, которая будет вызываться функцией

+

+

Рис. 4 Внешний вид вызванного функцией модального окна диалога

+
+
+
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог_Скрыть.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог_Скрыть.html new file mode 100644 index 0000000..1be9086 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Диалог_Скрыть.html @@ -0,0 +1,79 @@ + + + + + + + + Web-BPM Docs – Диалог. Скрыть + + + + + + +
+
+ + + +
+
+

Диалог. Скрыть

+

Функция, которая в режиме исполнения приложения (runtime mode) позволяет скрыть заданное в настройках функции модальное диалоговое окно и продолжить работу с основной web-страницы экранного интерфейса.

+

Функция может быть активирована на любом из видов компоненты Кнопка, но обычной практикой является использование функции Диалог. Скрыть с компонентой Кнопка.

+

+

Рис. 1 Внешний вид активированной функции

+

Параметры функции (табл.1)

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Скрыть диалог Ссылка на компоненту Диалог, обязательный. позволяет указать компоненту Диалог для сокрытия модального окна поверх основной web-страницы экранного интерфейса
+

Пример настройки и применения

+

+

Рис.2 Активация функции на компоненте Кнопка

+

+

Рис. 3 Компонента Диалог, которая будет скрываться функцией

+

+

Рис. 4 Внешний вид модального окна диалога, который будет скрыт

+

+

Рис. 5 Внешний вид web-страницы, когда модальное окно Диалога скрыто функцией

+
+
+
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Вертикальный_контейнер_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Вертикальный_контейнер_на_страницу_.html new file mode 100644 index 0000000..1079a23 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Вертикальный_контейнер_на_страницу_.html @@ -0,0 +1,166 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Вертикальный контейнер на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Вертикальный контейнер” на страницу?

+

Постановка задачи: необходимо расположить на пользовательской странице Карточка задачи набор параметров задачи таким образом, чтобы визуально страница воспринималась, как состоящая из двух одинаковых по ширине колонок, параметры задачи в каждой из которых идут друг под другом.

+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком и визуальные компоненты и источник данных компоненты Форма настроен.

+

Для оптимизации расположения параметров в соответствии с условиями задачи необходимо сделать следующее:

+
    + +
  • внутрь компоненты Форма добавить компоненту Горизонтальный контейнер (рис.1)
  • +
+

+

Рис.1 Добавление компоненты Горизонтальный контейнер

+
    + +
  • внутрь компоненты Горизонтальный контейнер добавить две компоненты Вертикальный контейнер (рис. 2)
  • +
+

+

Рис.2 Добавление двух компонент Вертикальный контейнер

+
    + +
  • в настройках компоненты Вертикальный контейнер перейти в Расширенные настройки и задать ширину каждой из компонент Вертикальный контейнер в размере 50% (рис. 3)
  • +
+ +
+ +

+
+ +

+

Рис.3 Выставление параметра Ширина в 50% у компонент Вертикальный контейнер

+
    + +
  • внутрь каждой из компонент Вертикальный контейнер расположить визуальные компоненты (рис.4)
  • +
+

+

Рис.4 Добавление визуальных компонентов в скомбинированные Горизонтальный и вертикальные контейнеры

+

На этом настройка предложенного порядка расположения визуальных компонентов на странице, предусмотренная заданием, завершена.

+

При проверке результата в работающем приложении визуальные компоненты должны выглядеть так:

+ +
+ + + + + + + + + + + + + + +
+
+ +

+
+

Рис. 5 Представление визуальных компонентов после использования Горизонтального и Вертикального контейнеров.

+ +

Страница воспринимается как состоящая из 2 столбцов одинаковой ширины, в которых визуальные компоненты расположены в вертикальном направлении друг за другом

+
+ +

Тот же самый набор визуальных компонентов, расположенный в составе компоненты Форма, без использования контейнеров выглядел бы так:

+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+

Рис. 6 Все визуальные компоненты расположены внутри компоненты Форма.

+ +

Компонента Форма сама по себе является Вертикальным контейнером !

+

Рис. 7 Расположение визуальных компонентов в запущенное приложении без использования комбинации Горизонтальных и Вертикальных контейнеров.

+ +

Поскольку Компонента Форма сама по себе является Вертикальным контейнером, то все визуальные компоненты расположены в один столбик в вертикальной последовательности

+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Вкладка_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Вкладка_на_страницу_.html new file mode 100644 index 0000000..328dabb --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Вкладка_на_страницу_.html @@ -0,0 +1,115 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Вкладка на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Вкладка” на страницу?

+

Постановка задачи: необходимо расположить на пользовательской странице Карточка задачи набор параметров задачи таким образом, чтобы визуально страница воспринималась, как состоящая из двух вкладок, каждая со своим набором параметров задачи (вкладка “общие параметры” и вкладка “сотрудники”).

+

Решение задачи:

+

Предполагается, что страницаКарточка задачиуже создана бизнес-аналитиком и визуальные компоненты и источник данных компоненты Форма настроен.

+

Для оптимизации расположения параметров в соответствии с условиями задачи необходимо сделать следующее:

+
    + +
  • внутрь компоненты Форма добавить компоненту Контейнер вкладок (рис.1)
  • +
+

+

Рис.1 Добавление компоненты Контейнер вкладок

+
    + +
  • внутрь компоненты Контейнер вкладок добавить две компоненты Вкладка (рис. 2)
  • +
+

+

Рис.2 Добавление двух компонент Вкладка

+
    + +
  • + +

    оставляем значения параметров компоненты “Контейнер вкладок” в состоянии ‘по умолчанию’

    +
  • +
  • + +

    внутрь каждой из компонент Вкладка располагаем визуальные компоненты (рис.4)

    +
  • +
+

+

Рис.4 Добавление визуальных компонентов в скомбинированные компоненты-контейнеры “Контейнер вкладок” и “Вкладка”

+

На этом настройка предложенного порядка расположения визуальных компонентов на странице, предусмотренная заданием, завершена.

+

При проверке результата в работающем приложении визуальные компоненты должны выглядеть так:

+ +
+ +

+
+ +

+

Рис. 5 Представление визуальных компонентов после использования компоненты-контейнеры “Контейнер вкладок” и “Вкладка”

+

Страница воспринимается как состоящая из 2 вкладок, в которых визуальные компоненты расположены в вертикальном направлении друг за другом

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Горизонтальный_контейнер_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Горизонтальный_контейнер_на_страницу_.html new file mode 100644 index 0000000..4189554 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Горизонтальный_контейнер_на_страницу_.html @@ -0,0 +1,173 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Горизонтальный контейнер на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Горизонтальный контейнер” на страницу?

+

Постановка задачи: необходимо расположить на пользовательской странице Карточка задачи набор параметров задачи таким образом, чтобы визуально страница воспринималась, как состоящая из двух одинаковых по ширине колонок, параметры задачи в каждой из которых идут друг под другом.

+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком и визуальные компоненты и источник данных компоненты Форма настроен.

+

Для оптимизации расположения параметров в соответствии с условиями задачи необходимо сделать следующее:

+
    + +
  • внутрь компоненты Форма добавить компоненту Горизонтальный контейнер (рис.1)
  • +
+

+

Рис.1 Добавление компоненты Горизонтальный контейнер

+
    + +
  • внутрь компоненты Горизонтальный контейнер добавить две компоненты Вертикальный контейнер (рис. 2)
  • +
+

+

Рис.2 Добавление двух компонент Вертикальный контейнер

+
    + +
  • в настройках компоненты Вертикальный контейнер перейти в Расширенные настройки и задать ширину каждой из компонент Вертикальный контейнер в размере 50% (рис. 3)
  • +
+ +
+ +

+
+ +

+

Рис.3 Выставление параметра Ширина в 50% у компонент Вертикальный контейнер

+
    + +
  • внутрь каждой из компонент Вертикальный контейнер расположить визуальные компоненты (рис.4)
  • +
+

+

Рис.4 Добавление визуальных компонентов в скомбинированные Горизонтальный и вертикальные контейнеры

+

На этом настройка предложенного порядка расположения визуальных компонентов на странице, предусмотренная заданием, завершена.

+

При проверке результата в работающем приложении визуальные компоненты должны выглядеть так:

+ +
+ + + + + + + + + + + + + + +
+
+ +

+
+

Рис. 5 Представление визуальных компонентов после использования Горизонтального и Вертикального контейнеров.

+ +

Страница воспринимается как состоящая из 2 столбцов одинаковой ширины, в которых визуальные компоненты расположены в вертикальном направлении друг за другом

+
+ +

Тот же самый набор визуальных компонентов, расположенный в составе компоненты Форма, без использования контейнеров выглядел бы так:

+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+

Рис. 6 Все визуальные компоненты расположены внутри компоненты Форма.

+ +

Компонента Форма сама по себе является Вертикальным контейнером !

+

Рис. 7 Расположение визуальных компонентов в запущенное приложении без использования комбинации Горизонтальных и Вертикальных контейнеров.

+ +

Поскольку Компонента Форма сама по себе является Вертикальным контейнером, то все визуальные компоненты расположены в один столбик в вертикальной последовательности

+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Группа_полей_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Группа_полей_на_страницу_.html new file mode 100644 index 0000000..848ae61 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Группа_полей_на_страницу_.html @@ -0,0 +1,157 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Группа полей на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Группа полей” на страницу?

+

Постановка задачи: необходимо на пользовательской странице Карточка задачи сгруппировать и расположить набор параметров задачи по подразделам “Общие сведения”, “Сроки”, “Действующие лица”.

+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком, визуальные компоненты и источник данных компоненты Форма настроен.

+

Для расположения параметров в соответствии с условиями задачи необходимо сделать следующее:

+
    + +
  • внутрь компоненты Форма добавить несколько компонент Группа полей (рис.1)
  • +
+

+

Рис.1 Добавление компоненты Группа полей

+
    + +
  • переименовать компоненты Группа полей и дать им одноименные заголовки (рис. 2)
  • +
+

+

Рис.2 Переименование и озаглавливание компонент Группа полей

+
    + +
  • внутри каждой из компонент Группа полей расположить визуальные компоненты для ввода и отображения информации (рис. 3)
  • +
+ +
+ + + + + + + + + + + + + + +
+
+ +

+
Рис.3 Распределение полей ввода и отображения информации по компонентам Группа полей
+
+ +

На этом настройка предложенного порядка расположения визуальных компонентов на странице, предусмотренная заданием, завершена.

+

При проверке результата в работающем приложении визуальные компоненты должны выглядеть так:

+

Рис. 4 Представление визуальных компонентов после использования компонент - контейнеров Группа полей Страница воспринимается как совокупность 3 логических блоков, следующих в вертикальном направлении друг за другом

+

Тот же самый набор визуальных компонентов, расположенный в составе компоненты Форма, без использования контейнеров выглядел бы так:

+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+

Рис. 5 Все визуальные компоненты расположены внутри компоненты Форма.

+ +

Компонента Форма сама по себе является Вертикальным контейнером !

+

Рис. 6 Расположение визуальных компонентов в запущенном приложении без использования компонент- контейнеров Группа полей.

+ +

Поскольку Компонента Форма сама по себе является Вертикальным контейнером, то все визуальные компоненты расположены в один столбик в вертикальной последовательности

+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Контейнер_вкладок_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Контейнер_вкладок_на_страницу_.html new file mode 100644 index 0000000..c780f69 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Контейнер_вкладок_на_страницу_.html @@ -0,0 +1,90 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Контейнер вкладок на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Контейнер вкладок” на страницу?

+

Постановка задачи: необходимо расположить на пользовательской странице Карточка задачи набор параметров задачи таким образом, чтобы визуально страница воспринималась, как состоящая из двух вкладок, каждая со своим набором параметров задачи (вкладка “общие параметры” и вкладка “сотрудники”).

+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком и визуальные компоненты и источник данных компоненты Форма настроен.

+

Для оптимизации расположения параметров в соответствии с условиями задачи необходимо сделать следующее:

+
    + +
  • внутрь компоненты Форма добавить компоненту Контейнер вкладок (рис.1)
  • +
+

+

Рис.1 Добавление компоненты Контейнер вкладок

+
    + +
  • внутрь компоненты Контейнер вкладок добавить две компоненты Вкладка (рис. 2)
  • +
+

+

Рис.2 Добавление двух компонент Вкладка

+
    + +
  • + +

    оставляем значения параметров компоненты “Контейнер вкладок” в состоянии ‘по умолчанию’

    +
  • +
  • + +

    внутрь каждой из компонент Вкладка располагаем визуальные компоненты (рис.4)

    +
  • +
+

+

Рис.4 Добавление визуальных компонентов в скомбинированные компоненты-контейнеры “Контейнер вкладок” и “Вкладка”

+

На этом настройка предложенного порядка расположения визуальных компонентов на странице, предусмотренная заданием, завершена.

+

При проверке результата в работающем приложении визуальные компоненты должны выглядеть так:

+ +
+ +

+
+ +

+

Рис. 5 Представление визуальных компонентов после использования компоненты-контейнеры “Контейнер вкладок” и “Вкладка”

+

Страница воспринимается как состоящая из 2 вкладок, в которых визуальные компоненты расположены в вертикальном направлении друг за другом

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Контейнер_кнопок_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Контейнер_кнопок_на_страницу_.html new file mode 100644 index 0000000..ecc033a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Контейнер_кнопок_на_страницу_.html @@ -0,0 +1,191 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Контейнер кнопок на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Контейнер кнопок” на страницу?

+

Постановка задачи: на пользовательской странице Карточка задачи требуется эргономично реализовать кнопки печати карточки задачи, карточки проекта, списка всех изменений по задаче. списка всех задействованных по задаче специалистов.

+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком, визуальные компоненты с основными параметрами задачи и источник данных компоненты Форма настроен.

+

Для выполнения поставленных в задаче требований:

+
    + +
  • в состав page добавить Горизонтальный контейнер и назвать его Кнопки (рис.1)
  • +
+

+

Рис.1 Добавление Горизонтального контейнера

+
    + +
  • внутри горизонтального контейнера расположить компоненту “Контейнер с кнопками”, а также несколько простых компонент “Кнопка” (рис. 2)
  • +
+

+

Рис.2 Добавление компоненты Контейнер с кнопками и несколькообычных кнопок

+
    + +
  • внутри компоненты “Контейнер с кнопками” расположить визуальные компоненты “Кнопка печати” для печати форм отчетов, определенных условиями задачи (рис. 3)
  • +
+ +
+ + + + + + + + + + + + + + +
+
+ +

+
Рис.3 Наполнение компоненты "Контейнер с кнопками" простыми визуальными компонентами "Кнопка печати"
+
+ +

На этом настройка предложенного порядка расположения визуальных компонентов на странице, предусмотренная заданием, завершена.

+

При проверке результата в работающем приложении визуальные компоненты должны выглядеть так:

+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+

Рис. 4 Представление визуальных компонентов после использования компоненты "Контейнер с кнопками".

+ +

Все возможности печати скрыты за объединяющей кнопкой.

+

Рис. 5 Представление визуальных компонентов после использования компоненты "Контейнер с кнопками" с раскрытыми кнопками, предоставляющими заданные возможности распечатки отчетов.

+ +


+

+
+ +

Тот же самый набор возможностей печати без использования компоненты “Контейнер с кнопками” выглядел бы так:

+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+

Рис. 6 Все компоненты "Кнопка" последовательно расположены внутри "Горизонтального контейнера".

+ +


+

+

Рис. 7 Расположение визуальных компонентов в приложении без использования компоненты "Контейнер с кнопками".

+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Набор_фильтров_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Набор_фильтров_на_страницу_.html new file mode 100644 index 0000000..10f28b3 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Набор_фильтров_на_страницу_.html @@ -0,0 +1,135 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Набор фильтров на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Набор фильтров” на страницу?

+

Постановка задачи:

+

На пользовательской странице необходимо расположить “Набор фильтров” который будет включать в себя текстовый фильтр.

+

Элементы на странице должны иметь следующие настройки:

+
    + +
  • Блок фильтрации на странице должен иметь подзаголовок-Фильтр по сотрудникам, реализованный с помощью компоненты Текст
  • +
  • Набор фильтров должен содержать внутри себя Текстовое поле (фильтр) и ссылаться на Таблицу поиска. Поиск по таблице должен осуществляться после ввода данных в поле фильтрации.
  • +
+

Решение задачи:

+

Предполагается, что страница, где необходимо разместить Таблицу и Набор фильтров, уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:

+ +

+

рис.1 Добавление элемента Набор фильтров

+
    + +
  • Добавить компоненту Текст внутрь Набора фильтров, которая будет являться заголовком блока фильтрации (рис.2)
  • +
+

+

рис.2 Добавление элемента Текст

+
    + +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по текстовому полю (рис.3)
  • +
+

+

рис.3 Добавление компонент Фильтр по текстовому полю

+
    + +
  • Добавить на страницу Таблицу,в которой будет отображаться информация о сотрудниках и по значениям которой будет осуществляться поиск записей с помощью фильтров (рис.4)
  • +
+

+

рис.4 Добавление элемента Таблица

+

2. Настройка элементов:

+
    + +
  • Настройка Набора фильтров: переносим объект Таблица, удерживая левую кнопку мыши, в свойство “Применить к…” Набор фильтров как показано на рисунке (рис.5) и настроить остальные свойства (рис.6)
  • +
+

+

рис.5 Настройка Набор фильтров

+

+

рис.6 Настройка Набор фильтров

+
    + +
  • Заполняем свойство Надпись у компоненты Текст значением Фильтр по сотрудникам (рис.7)
  • +
+

+

рис.7 Настройка элемента Текст

+
    + +
  • Заполняем у элемента Таблица следующие свойства: Таблица. Подгрузка данных - Источник данных - Граф сущностей (как описано в разделе Настройка Графа сущностей) и настраиваем колонки Таблицы (как описано в разделе Настройка колонок Таблицы) в блоке Таблица. Настроить колонки таблицы согласно условиям задачи (рис.8)
  • +
+

+

рис.8 Настройка элемента Таблица

+
    + +
  • Заполняем свойства компонент фильтрации по текстовому полю согласно условиям задачи (рис.9)
  • +
+

+

рис.9 Настройка Фильтра по текстовому полю

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается блок фильтрации, включающий в себя фильтры по тестовому полю (рис.10).

+

+

рис.10 Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Сворачиваемая_панель_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Сворачиваемая_панель_на_страницу_.html new file mode 100644 index 0000000..eefbb4f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Сворачиваемая_панель_на_страницу_.html @@ -0,0 +1,161 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Сворачиваемая панель на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Сворачиваемая панель” на страницу?

+

Постановка задачи:

+

На пользовательской странице необходимо расположить “Сворачиваемую панель” которая будет включать в себя Поле многострочного ввода, поле Дата и денежное поле.

+

Элементы на странице должны иметь следующие настройки:

+
    + +
  • Сворачиваемая панель: +
      + +
    • заголовок: Дополнительная информация об услуге
    • +
    +
  • +
  • Дата: +
      + +
    • Надпись: Дата предоставления услуги
    • +
    • Формат: Дата со временем
    • +
    +
  • +
  • Поле многострочного ввода: +
      + +
    • Надпись: Описание проведенных работ
    • +
    +
  • +
  • Денежное поле: +
      + +
    • Надпись: Стоимость услуг
    • +
    • Количество знаков после запятой
    • +
    +
  • +
+

Решение задачи:

+

Предполагается, что страница, где необходимо разместить Таблицуи Набор фильтров, уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:

+
    + +
  • Добавить на страницу контейнер Сворачиваемая панель (рис.1)
  • +
+

+

рис.1 Добавление элемента Сворачиваемая панель

+
    + +
  • Добавить компоненту Дата внутрь Сворачиваемой панели (рис.2)
  • +
+

+

рис.2 Добавление элемента Дата.

+ +

+

рис.2 Добавление элемента Поле многострочного ввода.

+
    + +
  • Добавить внутрь Сворачиваемой панели компоненту Денежное поле (рис.3)
  • +
+

+

рис.3 Добавление элемента Денежное поле.

+

2. Настройка элементов:

+
    + +
  • НастройкаСворачиваемой панели, заполняем Заголовок. Как показано на рисунке (рис.4).
  • +
+

+

рис.4 НастройкаСворачиваемая панель

+
    + +
  • Настройка поля Дата, заполняем Надпись. Как показано на рисунке (рис.5).
  • +
+

+

рис.5 Настройка Дата

+
    + +
  • Настройка Поле многострочного ввода, заполняем Надпись. Как показано на рисунке (рис.6).
  • +
+

+

рис.6 НастройкаПоле многострочного ввода.

+
    + +
  • Настройка Денежное поле, заполняем Надпись. Указываем количество знаков после запятой. Как показано на рисунке (рис.7).
  • +
+

+

рис.7 Настройка Денежного поля.

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается Сворачиваемая панель, включающий в себя необходимые поля. Сворачиваемая панель в свернутом состоянии рис.8. Сворачиваемая панель в развернутом виде рис. 9.**
+**

+

+

рис.8 Визуальное отображение выполнения условий задачи

+

+

рис.9 Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Форма_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Форма_на_страницу_.html new file mode 100644 index 0000000..6a9b870 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_добавить_компоненту_Форма_на_страницу_.html @@ -0,0 +1,184 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Форма на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту “Форма” на страницу?

+

Постановка задачи: необходимо расположить на пользовательской странице Карточка задачи набор параметров задачи, представленных визуальными компонентами, с возможностью подгрузить информацию из таблиц базы данных в режиме редактирования карточки, либо сохранить введенные значения (в режиме добавления новой записи или обновления ранее созданной записи).

+

Карточка задачидолжна иметь следующие настройки:

+
    + +
  • в Граф сущностей в качестве Главной сущности должна быть определена таблица задач(tasks), которая может быть связана с другими таблицами базы данных, где содержитсядополнительная информация для вывода на страницу - наименование и описание задачи, дата постановки задачи
  • +
  • при настройке функции Подгрузка данных основная компонентыФормав параметре Переменная процесса с идентификатором следует выбрать из списка наименование переменной процесса task_id, содержащей идентификатор задачи. Эта переменная может быть заполнена каким-либо значением или быть пустым. Как правило, если при открытии страницы с карточкой задачи эта переменная уже заполнена некоторым числом, то карточка задачи открывается на редактирование (выполняется SQL запрос SELECT при открытии и UPDATE при попытке сохранения), поскольку этот идентификатор задачи был указан пользователем на одном из предыдущих этапов. Если при открытии страницы с карточкой задачи эта переменная пуста, то функция Подгрузка данных основная автоматически определяет, что данные для подгрузки на страницу отсутствуют, а при попытке сохранения карточки следует выполнить SQL запрос INSERT.
  • +
  • внутри компоненты-контейнера Форма следует расположить 3 компоненты: Текстовое поле для параметра Наименование задачи, Текстовое поле для параметра Описание задачи и Дата для параметра Дата постановки задачи.
  • +
+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком и в логике бизнес-процесса определена необходимая переменная процесса task_id, значение которой заполняется перед открытием страницы пользователем. Для добавления на страницу и настройки компоненты Форма необходимо сделать следующее:

+
    + +
  • добавить внутрь страницы компоненту Форма (рис.1)
  • +
  • в настройках добавленной Формы перейти к разделу Подгрузка данных основная - Источник данных - Граф сущностей и настроить его в соответствии с условием задачи (рис.2).
  • +
+

+ +
+
     рис.1 Добавление компоненты Форма на страницу    
+                 рис.2 Настройка Графа
+
+ +

сущностей компоненты Форма

+ +

+ +
+
        рис.3 Настройка переменной процесса
+
+ +
    + +
  • расположить компоненты для отображения параметров Наименование задачи, Описание задачи, Дата постановки задачи и настроить их на отображение информации из источника данных (рис.4, рис.5, рис.6)
  • +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+
+ +

+
рис.4 Добавление элемента Наименованиерис.5 Добавление элемента Описаниерис.6 Добавление элемента Дата постановки задачи
+
+ +

На этом настройка компоненты Форма для отображения информации из базы данных завершена. В указанной конфигурации при попытке открыть веб-страницу поля будет заполнены имеющимися в базе данных значениями.

+

Для возможности создания новой записи (INSERT) или изменения имеющихся значений (UPDATE), необходимо добавить на страницу компоненту Кнопка сохранения и указать этой кнопке на Форму, согласно Графу сущностей которой следуют провести операцию добавления новой записи или обновления существующей информации после нажатия на кнопку (рис.7)

+ +
+ + + + + + + + + + + + + + +
+
+ +


+

+
+

рис.7 Настройка элемента Кнопка сохранения

+ +

Заполнение параметра Компонент "Форма" Кнопки сохранения происходит путем перетаскивания манипулятором мышь объекта "Основная Форма страницы " из дерева структуры страницы в окно параметра Компонент "Форма" Кнопки сохранения (как показано стрелкой на скриншоте).

+ +

Также существует удобная функциональность обратного быстрого перехода по дереву структуры страницы к задействованной компоненте посредством клика на параметре Компонент "Форма" Кнопки сохранения, когда есть необходимость уточнить, на какую именно компоненту в дереве ссылается интересующий параметр.

+
+ +

Кнопку сохранения необязательно располагать внутри компоненты Форма, что является обычной практикой при разработке приложений, поскольку кнопки располагаютcя в определенных областях экрана с использованием компонент Горизонтальный или Вертикальный контейнер. Кроме того, компонента Кнопка сохранения не имеет своего источника данных, как те компоненты, которые отображают информацию из базы данных, и которые по этой причине должны быть расположены внутри компоненты Форма.

+

После применения изменений и настройки всех необходимых элементов, веб-страница может не только заполнять поля значениями из базы данных при открытии, но и сохранять измененные значения или добавлять новую запись, в зависимости от состояния значения переменной task_id. Если она пуста, то данные после нажатия Кнопки сохранения добавятся в таблицу, а если не пуста - то обновятся, и система перейдет к следующей задаче согласно логике бизнес-процесса.

+ +
+
+

Attachments:

+
+ +
+ +

image2019-3-7_15-26-43.png (image/png)
+ Screenshot_9.png (image/png)
+ Screenshot_6.png (image/png)
+ Screenshot_7.png (image/png)
+ Screenshot_8.png (image/png)
+ Screenshot_3.png (image/png)
+ Screenshot_4.png (image/png)
+ image2019-3-7_17-38-11.png (image/png)
+ image2019-3-7_17-39-51.png (image/png)
+ image2019-3-7_18-12-24.png (image/png)
+ image2019-3-7_18-15-45.png (image/png)
+ image2019-3-11_10-15-47.png (image/png)
+ image2019-3-11_10-16-20.png (image/png)
+ image2019-3-11_10-34-55.png (image/png)
+ image2019-3-11_18-6-34.png (image/png)
+ image2019-3-11_18-8-46.png (image/png)

+
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_задействовать_компоненту_Окно_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_задействовать_компоненту_Окно_.html new file mode 100644 index 0000000..89512bd --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_задействовать_компоненту_Окно_.html @@ -0,0 +1,137 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Окно? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту “Окно”?

+

Постановка задачи: на одном из этапов прохождения бизнес - процесса следует проинформировать пользователя о готовности Системы отправить сообщение электронной почтой на основе тех данных, что пользователь последовательно на нескольких формах и в несколько этапов вводил в Систему до этого момента. Предоставить пользователю возможность 1) обойти отправку и пойти дальше по процессу, 2) вернуться на первый этап и повторить (откорректировать ввод данных), 3) отправить e-mail на основе всех введенных им данных.

+

Решение задачи:

+
    + +
  1. В редакторе бизнес-процессов предусмотреть отдельную пользовательскую задачу (UserTaks).
  2. +
+

+
    + +
  1. Создать новую экранную форму (page) и соотнести ее с этой пользовательской задачей в редакторе бизнес- процессов.
  2. +
+

+
    + +
  1. Открыть экранную форму в редакторе экранных форм и перенести из библиотеки компонентов компоненту Окно в дерево страницы page.
  2. +
+

+
    + +
  1. Настроить каждую входящую состав компоненты “Окно” простую визуальную компоненту следующим образом:
  2. +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+
+ +

+
Дать заголовок компоненте Окно, задействовав компоненту ТекстСформулировать тело сообщения пользователю, которое будет отображаться Системой и заполнить предназначенный для этого параметр компоненты TextAreaНастроить параметры компонент Кнопка, с помощью которых пользователь будет принимать решение о дальнейшем движении маркера процесса
+
+ +

На этом выполнение поставленной задачи можно считать завершенным.

+

При проверке результата в работающем приложении компонента выглядит так:

+

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_использовать_Диалог_для_вывода_предупреждения_пользователю_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_использовать_Диалог_для_вывода_предупреждения_пользователю_на_странице_.html new file mode 100644 index 0000000..8dd4b39 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Как_использовать_Диалог_для_вывода_предупреждения_пользователю_на_странице_.html @@ -0,0 +1,146 @@ + + + + + + + + Web-BPM Docs – Как использовать Диалог для вывода предупреждения пользователю на странице? + + + + + + +
+
+ + + +
+
+

Как использовать Диалог для вывода предупреждения пользователю на странице?

+

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

+

Элементы на странице должны иметь следующие настройки:

+
    + +
  • Дата (с возможностью сохранения) №1:
    +надпись -Дата начала проверки
    +формат - Дата
    +введенноепользователем значение должно сохраняться в базу данных
  • +
  • Дата (с возможностью сохранения) №2:
    +надпись -Дата окончания проверки
    +формат-Датавведенноепользователем значение должно сохраняться в базу данных
  • +
  • Диалог вывода предупреждения №1:
    +элемент Текст -Дата начала проверки не должна быть позднее Даты окончания проверки
    +кнопка закрытия Диалога - Ок
    +диалог должен быть скрыт по умолчанию, его видимость будет регулироваться с помощью Обработчика событий
  • +
  • Диалог вывода предупреждения №2:
    +элемент Текст-Дата окончания проверки не должна быть раньше Даты начала проверкикнопка закрытия Диалога- Окдиалог должен быть скрыт по умолчанию, его видимость будет регулироваться с помощью Обработчика событий
  • +
+

**Решение задачи:**предполагается, чтостраница Карточка проверки уже создана бизнес-аналитиком, где имеется основная компонента Форма, в структуру сущностей которой включена необходимая таблица, куда будут сохраняться введенные пользователем значения. Для добавления на страницу полей с Датами и Диалоговых окон необходимосделать следующее:

+ +

рис.1 Добавление Дат на Форму

+

рис.2 Настройка элемента Дата начала проверки

+

рис.3 Настройка элемента Дата окончания проверки

+
    + +
  • добавить внутрь Формы первое Диалоговое окно со вложенными элементами Текст и Кнопка, которое будет отображаться при условии: Дата окончания проверки не должна быть раньше Даты начала проверки (рис.4, рис.5, рис.6)
    +
    +рис.4 Диалог с проверкой корректности Даты окончания проверки
    +рис.5 Текст с предупреждением для пользователя
    +рис.6 Кнопка закрытия Диалога
  • +
  • добавить Обработчик событий, где регулируется видимость Диалога, всплывающего в случае, еслиДата окончания проверкираньшеДаты начала проверки и очищается значение поля Дата окончания проверки при выполнении этого условия(рис.7)
  • +
  • добавить Обработчик событий, с помощью которого выполняется закрытие Диалога с проверкой Даты окончания при нажатии на Кнопку внутри Диалога (рис.8)
  • +
+

рис.7 Настройка Обработчика событий для отображения Диалога
+рис.8 Настройка Обработчика событий для закрытия Диалога

+
    + +
  • добавить внутрь Формы второе Диалоговое окно со вложенными элементами Текст и Кнопка, которое будет отображаться при условии: Дата начала проверкине должна быть позднее Даты окончания проверки (рис.9, рис.10, рис.11)
    +
    +рис.9 Диалог с проверкой корректности Даты начала проверки
    +рис.10 Текст с предупреждением для пользователя
    +рис.11 Кнопка закрытия Диалога
  • +
  • добавить О бработчик событий, где регулируется видимость Диалога, всплывающего в случае, если Дата начала проверки позднее Даты окончания проверкии очищается значение поля Дата начала проверки при выполнении этого условия (рис.12)
  • +
  • добавить Обработчик событий, с помощью которого выполняется закрытие Диалога с проверкой Даты начала при нажатии на Кнопку внутри Диалога (рис.13) +


    +рис.12 Настройка Обработчика событий для отображения Диалога
    +рис.13 Настройка Обработчика событий для закрытия Диалога

  • +
+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи выполнены: на странице отображается два элемента Дата начала проверки и Дата окончания проверки (рис.14). В случае некорректного заполнения пользователем одного из этих полей (в любом порядке), автоматически срабатывает проверка по условиям, заданным в Обработчиках событий, и всплывает Диалоговое окно с предупреждением о допущенной ошибке (рис.15, рис.16).

+

+

+

рис.15 Вывод Диалогового окна при некорректном заполнении Даты начала проверки

+

+

рис.14.Визуальное отображение элементов с Датами на странице
+рис.16 Вывод Диалогового окнапри некорректном заполнении Даты окончания проверки

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнер_вкладок.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнер_вкладок.html new file mode 100644 index 0000000..6f424f5 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнер_вкладок.html @@ -0,0 +1,121 @@ + + + + + + + + Web-BPM Docs – Контейнер вкладок + + + + + + +
+
+ + + +
+
+

Контейнер вкладок

+

Назначение

+

Контейнер вкладок - невидимая компонента-контейнер позволяет экономно и эффективно организовать отображение на одном и том же месте экранного интерфейса разного набора визуальных компонентов, используя режим переключения вкладок, при котором выбранная пользователем вкладка отображается поверх других вкладок, не занимая дополнительного места на web странице и закрывая своим содержимым содержимое других вкладок.

+

Используется для оптимизации расположения визуальных компонент в интерфейсе системы, обеспечивая возможность группировки и логического объединения компонент в определенных зонах web-страницы и общее эстетическое и интуитивное восприятие экранного интерфейса пользователем системы.

+

Компонента Контейнер вкладок обязательно должна содержать в своем составе несколько компонент Вкладка, на которых располагаются прочие визуальные компоненты, позволяющие пользователю взаимодействовать с системой.

+

Компонента Контейнер вкладок находится в разделе Компоненты - Контейнеры - Контейнер вкладок

+

Свойства

+

Компонента имеет набор общих свойств и подгрузка данных по умолчанию. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Цикличность вкладок (isLoopTabs) Значения True или False
+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли вложить Контейнер вкладок в другие контейнеры? Да, может быть вложен в Вертикальный или Горизонтальный контейнеры
Как сделать Контейнер вкладок из горизонтального вертикальным? Для этого необходимо задать css класс “tab-menu” для TabContainer
Как выбрать вкладку в Контейнере вкладок по названию/номеру? Нужно использовать методы Контейнера вкладок “Сделать вкладку активной по заголовку”, “Сделать вкладку активной по индексу” в компоненте Обработка событий. Для выбора вкладки по индексу следует учитывать, что индекс вкладок начинается с 0 (первая по счету вкладка имеет индекс 0)
Можно ли расположить визуальные компоненты сразу в Контейнере вкладок, а не в компоненте Вкладка? Можно, но тогда Контейнер вкладок ничем не будет отличаться от Вертикального контейнера
Чем отличается функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойств обычной компоненты? Функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера отличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнера на все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если у вложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значение соответствующего свойства у вложенной компоненты Ложь, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+

CSS классы

+ + + + + + + + + + + + + + + +
Название класса css Описание
tab-menu класс присваивается компоненте TabContainer, делает его вертикальным
menu-header класс присваивается компоненте TabItem (подзаголовок меню) при необходимости визуально выделить элемент меню
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнер_с_кнопками.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнер_с_кнопками.html new file mode 100644 index 0000000..ec738ad --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнер_с_кнопками.html @@ -0,0 +1,98 @@ + + + + + + + + Web-BPM Docs – Контейнер с кнопками + + + + + + +
+
+ + + +
+
+

Контейнер с кнопками

+

Назначение

+

Контейнер с кнопками - это визуальная компонента-контейнер, которая позволяет скрыть несколько визуальных компонентов Кнопка под единственной видимой кнопкой, при нажатии на которую все скрытые ранее кнопки выпадают списком, предоставляя возможность пользователю нажать нужную. Используется для группировки схожих по функциональности кнопок и оптимизации расположения компонентов в интерфейсе системы, обеспечивая общее эстетическое и интуитивное восприятие.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать наименование кнопки пример возможного значения: Печать
Текст подтверждения при печати позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопку
+

Функции

+

Дополнительных функций у этой компоненты нет.

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем предпочтительнее использование контейнера кнопок вместо совокупности самостоятельных кнопок? Допустим, на web-странице требуется реализовать кнопки печати заявления, распорядительного акта на основе заявления, журнала распорядительных актов. расписку о получении распорядительного акта. Если расположить эти кнопки друг за другом, то такая web-страница будет смотреться перегруженной. Для облегчения восприятия страницы можно разместить только одну кнопку “Печать”, а при нажатии на нее уже будет раскрываться список вариантов (в виде самостоятельных кнопок) тех документов, которые можно распечатать. Подробнее этот пример будет рассмотрен в разделе методических рекомендаций.
Сколько вложенных компонентов Кнопка может быть у компоненты Контейнер кнопок? Теоретически, количество вложенных Кнопок не ограничено и определяется целесообразностью использования в каждом конкретном случае.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнеры.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнеры.html new file mode 100644 index 0000000..27a2528 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Контейнеры.html @@ -0,0 +1,53 @@ + + + + + + + + Web-BPM Docs – Контейнеры + + + + + + + +
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Набор_фильтров.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Набор_фильтров.html new file mode 100644 index 0000000..206ca58 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Набор_фильтров.html @@ -0,0 +1,181 @@ + + + + + + + + Web-BPM Docs – Набор фильтров + + + + + + +
+
+ + + +
+
+

Набор фильтров

+

Назначение

+

Набор фильтров - это невидимая компонента-контейнер, которая позволяет расположить внутри себя поля (Фильтры), с помощью которых будет происходить фильтрация и указать таблицу по которой будет происходить поиск.

+

Компонента Набор фильтров находится в разделе **Компоненты - Контейнеры -Набор фильтров

+

Свойства

+

Компонента имеет набор общих свойств и подгрузка данных по умолчанию. Ниже отображены свойства, специфичные только для данной компоненты.

+

Общие

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Фильтровать сразу позволяет установить условие по которому будет происходить применение фильтрации. Иными словами, можно задать условие по которому применение фильтра будет происходить после нажатия на кнопку фильтрации, либо динамически, после ввода данных в поле фильтрации. +
    +
  • Null - значение не определено
  • +
  • False - фильтр будет срабатывать только после нажатия на Кнопку для фильтрации - значение по умолчанию
  • +
  • True - фильтр будет срабатывать сразу после внесения изменения в поля фильтра.
Запоминать значения фильтра позволяет восстанавливать значения фильтров при возврате на страницу, т.е.запоминать значения фильтров (сохранять в кэше). При этом значение фильтра, заданное пользователем имеет приоритет над значением фильтра по умолчанию +
    +
  • значение не определено - по умолчанию
  • +
  • true - запоминать значения фильтров
  • +
  • false - не запоминать значения фильтров
Пропустить подгрузку данных (Skip initial loading) позволяет исключать подгрузку данных в таблицу без указания значений фильтров (пустыми фильтрами) +
    +
  • значение не определено - по умолчанию
  • +
  • true - исключает возможность подгрузки данных в таблицу без указания значений фильтров, т.е. при пустых значениях фильтров при первоначальном открытии страницы или по кнопке “Найти” запрос в базу данных (по Графу сущностей таблицы) выполняться не будет
  • +
  • false - позволяет подгружать данные в таблицу без указания значений фильтров, т.е. при первоначальном открытии страницы или по кнопке “Найти” будет осуществляться запрос в базу данных по пустым значениям фильтров
Шаблон текста при валидации позволяет задать шаблон вывода сообщения (текст сообщения), отображаемого в окне ошибки при валидации значений фильтров По умолчанию шаблон сообщения выставлен как:“#{label}: #{message}”, где параметры интерпретируются следующим образом: #{label} - наименование компоненты, в которой произошла ошибка #{message} -текст сообщения об ошибке Примеры возможной настройки: При пустом значений в поле* Message Validation Template* текст в окне об ошибке, отображаемом, например, при не заполнении значения в обязательном поле, будет отображаться по шаблону "#{label}: #{message}", где #{label} - наименование компоненты, в которой произошла ошибка (например, поле ФИО) #{message} - текст сообщения об ошибке (значение по умолчанию Поле обязательно).
+

Сохранение и загрузка значений в локальном хранилище

+

Система позволяет с помощью свойства filterValuesSaveStrategy сохранять значения полей фильтрации в локальном хранилище браузера. А с помощью свойства filterValuesLoadStrategy подставлять значения из локального хранилища браузера в поля фильтрации.

+

Время жизни определяется параметром filter_cleanup_interval_hours.

+

Если страница в контексте BPMN процесса, то сохранение/восстановление работает в рамках одного экземпляра процесса.

+

Сценарий 1. Необходимо подставлять предыдущее значение полей фильтрации при возврате на страницу.

+

Вариант решения: на странице в наборе фильтров (FilterGroup) задать filterValuesSaveStrategy = BY_PAGE_OBJECT_ID, filterValuesLoadStrategy = BY_PAGE_OBJECT_ID.

+

Сценарий 2. Необходимо подставить значений полей фильтрации из страницы 1 на страницу 2, при условии, что имена полей фильтрации и имя набора фильтров (FilterGroup) совпадают.

+

Вариант решения:

+
    + +
  1. + +

    На странице 1

    +
  2. +
  3. + +

    Значения полей фильтрации сохраняем в хранилище по имени объекта. Для этого задаём filterValuesSaveStrategy = BY_OBJECT_NAME.

    +
  4. +
  5. + +

    На странице 2

    +
  6. +
  7. + +

    Значения полей фильтрации берём из хранилища по имени объекта. Для этого задаём filterValuesLoadStrategy = BY_OBJECT_NAME.

    +
  8. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
filterValuesLoadStrategy Стратегия загрузки значений вложенных компонент-фильтров - BY_PAGE_OBJECT_ID - Подгрузка значений фильтров по ключу = идентификатор страницы + идентификатор объекта + id процесса если это bpmn процесс
- BY_OBJECT_NAME - Подгрузка значений фильтров по ключу = имя объекта + id процесса если это bpmn процесс
- BY_CUSTOM_NAME - Подгрузка значений фильтров по ключу = ключ указанный в поле filterValuesLoadStorageName + id процесса если это bpmn процесс
filterValuesLoadStorageName ключ по которому необходимо загружать значения фильтров из локального хранилища
filterValuesSaveStrategy Стратегия сохранения значений вложенных компонент-фильтров - BY_PAGE_OBJECT_ID - сохранение значений фильтров по ключу = идентификатор страницы + идентификатор объекта + id процесса если это bpmn процесс
- BY_OBJECT_NAME - сохранение значений фильтров по ключу = имя объекта + id процесса если это bpmn процесс
- BY_CUSTOM_NAME - сохранение значений фильтров по ключу = ключ указанный в поле filterValuesSaveStorageName + id процесса если это bpmn процесс
filterValuesSaveStorageName ключ по которому необходимо сохранять значения фильтров в локальное хранилище
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен**перечень функций, расширяющих её базовую функциональность,**которые можно добавить нажатием кнопки.

+

Вследствие технических особенностей реализации функций (-функции, которые выполняются удаленно на сервере приложений,- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO: описать

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
В чем заключаться главная необходимость использования Набора фильтров? Главная необходимость заключается в задании таблицы к которой будет применяться фильтр. Таким образом мы можем наложить несколько фильтров на необходимую нам таблицу и выводить записи которые ищет пользователь.
Можно ли задавать несколько наборов фильтров на странице? Да, при условии что они будут обращаться к разным таблицам.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Окно.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Окно.html new file mode 100644 index 0000000..0f13608 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Окно.html @@ -0,0 +1,179 @@ + + + + + + + + Web-BPM Docs – Окно + + + + + + +
+
+ + + +
+
+

Окно

+

Назначение

+

Окно - это составная компонента, которая используется для вывода на экран сообщений (уведомлений, предупреждений, дополнительной информации) Системы, стилизованных под окно системных сообщений операционной системы Windows, в ответ на какую-то активность пользователя, с опциональным выбором одного из возможных последующих действий. Представляет из себя родительский Вертикальный контейнер с вложенными в него дочерними визуальными компонентами, заранее взаимо-увязанными и назначенными стилями.

+

Несмотря на то, что основным предназначением является вывод статической информации для пользователя, компонента может быть модифицирована добавлением источника данных Форма и, вследствие этого, отображать уже динамически получаемую запросом к базе данных информацию, либо сохранять информацию в базу данных при выборе пользователем того или иного варианта действий из заложенных аналитиком при настройке компоненты.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет указать текст заголовка для контейнера Окно пример возможного значения: Общие сведения
Тело сообщения позволяет указать текст сообщения в теле контейнера Окно пример возможного значения: Общие данные
Кнопки позволяет указать Кнопки навигации
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки .

+

Вследствие технических особенностей реализации функций (

+

- функции, которые выполняются удаленно на сервере приложений,

+

- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO - описать возможности

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
В каких случаях чаще всего используется элемент Окно Для информирования пользователя о последствиях его возможных действий или событиях, происходящих в Системе (вывод уведомлений, предупреждений и дополнительной информации). С точки зрения реализации бизнес-процесса, для использования компоненты Окно необходимо выделение отдельной Пользовательской задачи (UserTask), эту компоненту нецелесообразно интегрировать в обычную страницу (для такой взаимной интеграции служит компонента Диалог), компоненту Окно целесообразнее использовать когда нужно уведомить пользователя о событиях или вариантах действий в ходе исполнения бизнес - процесса.
Можно ли как-то дополнительно модифицировать компоненту Окно для расширения функциональности? Да Поскольку компонента Окно является составной компонентой, родительской компонентой которой является Вертикальный контейнер, то допустимы совмещение любых известных аналитику приемов и компонент, используемых при проектировании обычной страницы. При большом объеме внесенных модификаций, оригинальными от компоненты останутся только предустановленные стилистические настройки.
Чем отличается функциональностьнабора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойств обычной компоненты? Функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнер аотличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнерана все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если у вложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значениесоответствующего свойства у вложенной компоненты Ложь, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+

Правила наследования значений свойств Подлежит сохранению, Обязательность дочерними компонентами, входящими в состав родительской компоненты контейнера

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
значение свойства у компоненты-контейнера значение свойства дочерней компоненты итоговое значение свойства
True True True
True False False
False True False
False False False
Undefined True True
Undefined False False
+

Правила наследования значений свойства Видимость дочерними компонентами, входящими в состав родительской компоненты контейнера

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
значение свойства у компоненты-контейнера значение свойства дочерней компоненты итоговое значение свойства
True True True
True False False
False True False
False False False
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Сворачиваемая_панель.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Сворачиваемая_панель.html new file mode 100644 index 0000000..ab3ec68 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Сворачиваемая_панель.html @@ -0,0 +1,107 @@ + + + + + + + + Web-BPM Docs – Сворачиваемая панель + + + + + + +
+
+ + + +
+
+

Сворачиваемая панель

+

Назначение

+

Сворачиваемая панель - это видимая компонента, которая используется для хранения содержимого в небольшом пространстве. Пользователь скрывает или открывает содержимое в сворачиваемой панели, щелкая вкладку графического элемента.

+

Как правило используется для группировки полей объеденных единым смыслом (например, относящихся к организации, либо разделу сотрудников).

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет задать заголовок сворачиваемой панели на странице пример возможного значения: Выбор
Открывать развернутым Задает условие по которому “Сворачиваемая панель” может быть по умолчанию развернута, либо свернута. +
    +
  • свернута- значение по умолчанию
  • +
  • развернута
+

Функции

+

Подгрузка данных по умолчанию

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO - описать возможности

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
В чем заключаться главная полезность использования Сворачиваемой панели? Главная полезность заключается в возможности пользователю самому определять, хочет ли он чтобы данные внутри сворачиваемой панели отображались на странице или нет.
Какое отображение принимает Сворачиваемая панель на странице пользователя? Настроить отображение по умолчанию можно с помощью свойства компоненты. Таким образом,при переходе на страницу,существует выбор отображать свернутую или раскрытую панель.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Стили-контейнеров.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Стили-контейнеров.html new file mode 100644 index 0000000..1672e3c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Стили-контейнеров.html @@ -0,0 +1,129 @@ + + + + + + + + Web-BPM Docs – Блок с фиксированными кнопками + + + + + + +
+
+ + + +
+
+

Блок с фиксированными кнопками

+ + + + + + + + + + + + + + + + + + +
Название класса css Описание
block-fixed класс для контейнера - оболочки
block-fixed-content класс для контейнера с содержимым
block-fixed-buttons класс для контейнера с прижатыми к низу кнопками
+

Если вам необходимо отобразить фиксированную (не перекрывается другими и не может быть скролом смещена со своей позиции) область с кнопками внизу страницы, то необходимо сделать:

+
    + +
  1. Добавить block-fixed на корневой контейнер (VBox) страницы. В него добавить два других контейнера: +
      + +
    1. для отображения основной области страницы (VBox). На него необходимо добавить класс block-fixed-content
    2. +
    3. для отображения кнопок (VBox). На него необходимо добавить класс block-fixed-buttons
    4. +
    +
  2. +
+

Внимание! Для корректной работы скрипта, объектов с классом «block-content» или «block-menu» должно быть не более одного.

+

Блок для работы со многими столбцами

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Название класса css Описание
block-border рамка для контейнера
block-border-top-line отчертить контейнер линией сверху
block-space-empty класс убирает внутренние отступы до вложенных элементов для контейнеров типа tab или block-content
block-horiz-cols класс выстраивает внутренние контейнеры в виде равновысотных столбцов
block-independent класс для создания автономного скроллируемого блока.
block-top класс для шапки. Цветовой блок, чаще всего используемый для размещения нередактируемых базовых элементов. Все поля формы внутри блока отображаются как подчеркнутый текст
+

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

+
    + +
  • HBox - block-horiz-cols +
      + +
    • VBox +
        + +
      • block-independent (Внутри VBox!)
      • +
      • +
      +
    • +
    • VBox
    • +
    +
  • +
+

Внимание! Для корректной работы скрипта, объектов с классом «block-horiz-col» должно быть не более одного.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма.html new file mode 100644 index 0000000..7d7d591 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма.html @@ -0,0 +1,162 @@ + + + + + + + + Web-BPM Docs – Форма + + + + + + +
+
+ + + +
+
+

Форма

+

Назначение

+

Форма - это невидимая компонента-контейнер, которая является источником подгрузки данных на странице пользовательского интерфейса. С помощью элемента Форма осуществляется запрос информации из базы данных во вложенные в Форму дочерние компоненты и сохранение введенной пользователем информации из дочерних компонент в базу данных по единственному идентификатору основной единицы создаваемого интерфейса (например, одной задаче в проекте, одному артикулу товара, одному сотруднику в коллективе и прочее).

+

Все другие визуальные компоненты, которые будут отображать или сохранять информацию в/из базы данных на странице приложения, должны обязательно находится внутри компоненты-контейнераФорма, поскольку именно из неё, как из источника данных, они берут ссылки на таблицы и колонки базы данных, с которыми будут оперировать.

+

Форма может работать в двух режимах:

+
    + +
  • После события сохранения (обновления) данных в визуальных компонентах, входящих в компоненту Форма, веб-страница запущенного приложения завершает текущую задачу (BPMNUSER TASK) и переходит к следующей задаче по бизнес-процессу;
  • +
  • После события сохранения (обновления) данных в визуальных компонентах, входящих в компоненту Форма, веб-страница запущенного приложения не завершает текущую задачу (BPMNUSER TASK), не переходит к следующей задаче по бизнес-процессу, а остается в том же экранном интерфейсе. Для принудительного завершения текущей задачи (BPMNUSER TASK) и перехода к следующей задаче по бизнес-процессу, необходимо воспользоваться компонентой Кнопка навигации.
  • +
+

Компонента Форма находится в разделе Компоненты - Контейнеры - Форма

+

Свойства

+

Компонента имеет набор общих свойств, подгрузка данных, подгрузка данных по умолчанию.

+

Подгрузка данных основная

+

+

описывает запрос к базе данных, результаты которого позволяют наполнить вложенные видимые компоненты значениями из базы данных при открытии веб-страницы приложения. Является обязательным к заполнению и настройке.

+
    + +
  • с помощью визуального конструктора запросов позволяет задать Граф сущностей, т.е. указать объекты базы данных, условия и взаимосвязи между ними для получения и отображения информации на веб-странице и/или ее сохранения.
  • +
  • с помощью параметра Переменная процесса с идентификатором позволяет ограничить результаты полученного запроса единственным идентификатором смысловой единицы создаваемого интерфейса. - Datasource Jndi Name - позволяет задать иной источник (базу данных) для выполнения запроса, заданного с помощью элементов базы данных в редакторе Графа сущностей элемента.
  • +
+

Значение данного свойства может быть задано следующим образом: java:/webbpm/AppRepDS, а сам адрес базы данных, логин и пароль для подключения должен быть указан в файле standalone.xml (аналогично тому, как указывается, например, подключение к базе данных безопасности) (рис.1)

+

+

рис.1 Настройка файла standalone.xml

+

В случае, если данное свойство не заполнено, запрос выполняется в базе данных, указанной в конфигурации проекта (во вкладке База данных).

+

Подгрузка данных по умолчанию

+

+

описывает запрос к базе данных, результаты которого позволяют наполнить вложенные видимые компоненты значениями по умолчанию из базы данных при открытии веб-страницы приложения, для тех случаев, когда результат запроса из основной подгрузки данных пуст. Не является обязательным к заполнению и настройке.

+
    + +
  • с помощью визуального конструктора запросов позволяет задать Граф сущностей, т.е. указать объекты базы данных и взаимосвязи между ними для получения и отображения на веб-странице информации по умолчанию, но не ее сохранения
  • +
  • с помощью параметра Переменная процесса с идентификатором позволяет ограничить результаты полученного запроса единственным идентификатором смысловой единицы создаваемого интерфейса.
  • +
+

Datasource Jndi Name - позволяет задать иной источник (базу данных) для выполнения запроса, заданного с помощью элементов базы данных в редакторе Графа сущностей элемента.

+

Значение данного свойства может быть задано следующим образом:java:/webbpm/AppRepDS, а сам адрес базы данных, логин и пароль для подключения должен быть указан в файлеstandalone.xml(аналогично тому, как указывается, например, подключение к базе данных безопасности) (рис.1)

+

+

рис.1 Настройка файла standalone.xml

+

В случае, если данное свойство не заполнено, запрос выполняется в базе данных, указанной в конфигурации проекта (во вкладке База данных).

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Шаблон сообщения валидации (Message validation template) позволяет задать шаблон вывода сообщения (текст сообщения), отображаемого в окне ошибки при валидации значений фильтров. По умолчанию шаблон сообщения выставлен как: "\#{label}: \#{message}", где параметры интерпретируются следующим образом: \#{label} - наименование компоненты, в которой произошла ошибка \#{message} - текст сообщения об ошибке Примеры возможной настройки: При пустом значений в поле* Message Validation Template* текст в окне об ошибке, отображаемом, например, при не заполнении значения в обязательном поле, будет отображаться по шаблону "\#{label}: \#{message}", где \#{label} - наименование компоненты, в которой произошла ошибка (например, поле ФИО) \#{message} - текст сообщения об ошибке (значение по умолчанию Поле обязательно).
+

Базовые функции

+

Функция основных свойств компоненты “Форма в режиме перехода”

+

По умолчанию компонента Форма работает в режиме перехода к следующей задаче послесохранения (обновления) данных.

+

Указанную функциональность обеспечивает функция “Форма с переходом.Основные параметры”, и она автоматически назначается на компоненту Форма при переносе ее из библиотеки компонентов в структуру страницы в конструкторе экранного интерфейса.

+

Является альтернативой функции Форма_без_перехода_Основные_параметры. Для компоненты “Форма” может быть назначена только одна из этих функций, иначе система будет генерировать ошибку при сборке приложения.

+

Описание параметров функции находится в таблице Свойства → Основные параметры.

+

+

+

Дополнительные функции

+

После настройки базовых свойств и функций компоненты может возникнуть необходимость в расширении базовой функциональности компоненты для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Для удаления из компоненты ошибочно добавленной функции или функции в которой нет необходимости используется элемент Ключ с шестеренкой, расположенный справа от наименования функции. По нажатию на элемент есть возможность Удалить функцию.

+

Вследствие технических особенностей реализации функций (

+

- функции, которые выполняются удаленно на сервере приложений,

+

- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Функция основных свойств компоненты “Форма без перехода”

+

По умолчанию компонента Форма работает в режиме перехода к следующей задаче послесохранения (обновления) данных.

+

Для перевода компоненты Форма в режим “без перехода” следует удалить скрипт Форма с переходом. Основные параметрыиз компоненты (рис.1) и назначить функцию Форма без перехода. Основные параметры (рис. 2).

+

Является альтернативой функции Форма с переходом. Основные параметры. Для компоненты “Форма” может быть назначена только одна из этих функций, иначе система будет генерировать ошибку при сборке приложения.

+

Описание параметров функции находится в таблице Свойства → Основные параметры.

+

+

Рис.1

+

+

Рис.2

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Если компонента Форма является источником данных для входящих в нее элементов, обязательно ли ее присутствие на любой создаваемой странице ? Нет, не обязательно.Использование компоненты Форма чаще всего обуславливается необходимостью отображения так называемой “карточки сущности”, когда на одной странице нужно вывести в отдельных полях разных типов несколько характеристик одной единицы учета. Но для страниц, содержащих, например, табличное представление данных, так называемый “реестр единиц учета”, компонента Форма не нужна (поскольку компонент Таблица имеет собственный настраиваемый источник данных).
Что такое имплементация и функций и для чего они нужны? Имплементация - это один из вариантов реализации. Функция выполняет некоторое полезное с точки зрения аналитика действие, задуманное им для реализации поставленной задачи. Но внутри функции это полезное действие может быть исполнено разными способами, предложенными разработчиками платформы. Ярким примером служит функция подгрузки данных. Она выполняет полезное действие - подгружает данные, но может подгружать их способом формирования и исполнения SQL запроса, а может подгружать способом считывания из переменной. В данном случае функция одна, а вариантов реализации полезного действия - два. Значит, существует две имплементации одной функции.
Можно ли сохранить/подгрузить данные в визуальные компоненты не только в/из базы данных, но и в/из переменной процесса? Да, можно. Для подгрузки значения в визуальную компоненту из переменной процесса следует воспользоваться функцией Заполнить значением из переменной процесса, а для сохранения значения из визуального компонента в переменную процесса - функцией Сохранить значение в переменную процесса.
Можно ли заполнить визуальный компонент внутри компоненты Форма значением по умолчанию, когда страница с “карточкой сущности” открывается пустой для создания новой записи? Да, можно. Поскольку источником данных для визуального компонента является компонента Форма, то следует воспользоваться функцией Подгрузка данных по умолчанию и настроить подгрузку данных по умолчанию. В самой визуальной компоненте указать таблицу и колонку из ‘графа сущностей для получения значений по умолчанию’. Тогда при открытии веб-страницы приложения компонент Форма сформирует 2 запроса - по основному графу сущности данных не будет (поскольку это веб-страница создания карточки), а по ‘графу сущностей данных по умолчанию’ (с иной логикой формирования запроса, чем в основной ) будут выбраны и смогут быть предустановлены в визуальные компоненты в качестве предлагаемых по умолчанию
Чем отличается функциональность набора свойств (Видимость, Обязательность, Недоступно для управления, Подлежит сохранению) у компоненты-контейнера от функциональности одноименных свойств обычной компоненты? Функциональность набора свойств (Подлежит сохранению,Обязательность, Видимость,Недоступно для управления) у компоненты-контейнера отличается от функциональности одноименных свойств у обычной компоненты тем, что значение указанных свойств наследуется с компоненты-контейнера на все компоненты, входящие в состав такой компоненты-контейнера. Правила наследования таковы, что если у вложенного объекта соответствующее свойство выставлено в значение Истина, то оно следует судьбе этого же свойства у компоненты-контейнера, если же значение соответствующего свойства у вложенной компоненты отличается от значения Истина, то наследования значения этого свойства от компоненты-контейнера не происходит, компонента функционирует в соответствии с собственными настройками.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма_без_перехода_Основные_параметры.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма_без_перехода_Основные_параметры.html new file mode 100644 index 0000000..2e8d513 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма_без_перехода_Основные_параметры.html @@ -0,0 +1,56 @@ + + + + + + + + Web-BPM Docs – Форма без перехода. Основные параметры + + + + + + +
+
+ + + +
+
+

Форма без перехода. Основные параметры

+

По умолчанию компонента Форма работает в режиме перехода к следующей задаче после сохранения (обновления) данных.

+

Для перевода компоненты Форма в режим “без перехода” следует удалить () скрипт Форма с переходом. Основные параметры из компоненты (рис.1) и назначить функцию Форма без перехода. Основные параметры (рис. 2).

+

Является альтернативой функции Форма с переходом. Основные параметры. Для компоненты “Форма” может быть назначена только одна из этих функций, иначе система будет генерировать ошибку при сборке приложения.

+

Описание параметров функции находится в таблице Свойства → Основные параметры.

+

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма_с_переходом_Основные_параметры.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма_с_переходом_Основные_параметры.html new file mode 100644 index 0000000..7df4cad --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/containers/Форма_с_переходом_Основные_параметры.html @@ -0,0 +1,56 @@ + + + + + + + + Web-BPM Docs – Форма с переходом. Основные параметры + + + + + + +
+
+ + + +
+
+

Форма с переходом. Основные параметры

+

По умолчанию компонента Форма работает в режиме перехода к следующей задаче послесохранения (обновления) данных.

+

Указанную функциональность обеспечивает функция “Форма с переходом.Основные параметры”, и она автоматически назначается на компоненту Форма при переносе ее из библиотеки компонентов в структуру страницы в конструкторе экранного интерфейса.

+

Является альтернативой функции Форма_без_перехода_Основные_параметры. Для компоненты Форма может быть назначена только одна из этих функций, иначе система будет генерировать ошибку при сборке приложения.

+

Описание параметров функции находится в таблице Свойства → Основные параметры.

+

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/control-properties.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/control-properties.html new file mode 100644 index 0000000..f1898a9 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/control-properties.html @@ -0,0 +1,140 @@ + + + + + + + + Web-BPM Docs – Основные свойств компонент + + + + + + +
+
+ + + +
+
+

Основные свойств компонент

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Всплывающая подсказка позволяет указать текст всплывающей подсказки, которая появляется при наведении курсора на элемент пример возможного значения: Здесь отображается информация о сотрудниках
Видимость позволяет регулировать видимость элемента на странице - видимый. Значение по умолчанию
- невидимый
Недоступно для управления позволяет регулировать возможность редактирования (управления) элементом на странице - невозможно регулировать
- возможно регулировать. Значение по умолчанию
Подлежит сохранению позволяет указать будет ли значение компоненты передаваться на сервер; если значение установлено в , то
- при сохранении, значение данного поля не будет сохранено
- при использовании в фильтре, значение данного поля не будет участвовать в фильтрации
- значение не определено. Значение по умолчанию
- подлежит сохранению
- не подлежит сохранению
Обязательность позволяет задать обязательность заполнения поля на странице; обязательные поля проверяются на заполненность перед сохранением - значение не определено - значение по умолчанию
- обязательно для заполнения
- необязательно для заполнения
+

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

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Inherit Parent
Стили +
    +
  • внутренний отступ - (необходимо указывать единицы измерения)
  • +
  • внешний отступ - (необходимо указывать единицы измерения)
  • +
  • граница - (необходимо указывать единицы измерения)
  • +
  • высота - позволяет указать высоту элемента (необходимо указывать единицы измерения, например, 20px)
  • +
  • ширина - позволяет указать ширину элемента(необходимо указывать единицы измерения, например, 40px)
  • +
  • минимальная высота - позволяет указать минимальную высоту
  • +
  • элемента (необходимо указывать единицы измерения, например, 20px)
  • +
  • минимальная ширина - позволяет указать минимальную ширину
  • +
  • элемента (необходимо указывать единицы измерения,
  • +
  • например, 40px)
  • +
  • максимальная высота - позволяет указать максимальную высоту
  • +
  • элемента (необходимо указывать единицы измерения,
  • +
  • например, 20px)
  • +
  • максимальная ширина - позволяет указать максимальную ширину
  • +
  • элемента (необходимо указывать единицы измерения,
  • +
  • например, 40px)
CSS классы позволяет указать список CSS-классов, которые необходимо применить к элементу
+

Свойства полей для ввода

+ + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
requiredErrorMsg позволяет задать пользовательское сообщение об ошибке обязательности поля текст
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/editable-grids/EditableGrid.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/editable-grids/EditableGrid.html new file mode 100644 index 0000000..ff42906 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/editable-grids/EditableGrid.html @@ -0,0 +1,244 @@ + + + + + + + + Web-BPM Docs – EditableGrid + + + + + + +
+
+ + + +
+
+

EditableGrid

+

Назначение компонента

+

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

+

Свойства

+

Компонента имеет набор общих свойств.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой Таблица +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов +
  • Не активно - не отображать колонку флагов
Ref To Main Table PK указывает колонку, в которой записан Main Table PK Column
Main Table PK Column указывает id строки на основе, которой будет производиться выборка в таблицу
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Row edition type позволяет указать тип открытия редакторов ячеек +
    +
  • DOUBLE_CLICK–дефолтное поведение для открытия редакторов ячеек. При двойном клике открывается редактор ячейки.
  • +
  • SINGLE_CLICK– при одинарном клике открывается редактор ячейки. Эта настройка позволяет редактировать значения в ячейках по аналогии с Excel-ем.
  • +
  • NO_CLICK– ни одинарный, ни двойной клик не открывает редактор ячейки. Эта настройка полезна, если вы хотите редактировать значения в ячейках по другому, например при нажатии на кнопку в ячейке.
Row Height позволяет задать высоту строки в таблице в пикселях (px) пример возможного значения: 20
Auto Stretch Columns позволяет задать возможность автоматического выравнивания ширины столбцов по ширине +
    +
  • выравнивать ширину столбцов- значение по умолчанию
  • +
  • не выравнивать ширину столбцов
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
+

Для добавления колонки в таблицу необходимо добавить один из компонент:

+
    + +
  • AutoCompleteGridColumn
  • +
  • CheckBoxGridColumn
  • +
  • ComboboxGridColumn
  • +
  • DateTimePickerGridColumn
  • +
  • NumberFieldGridColumn
  • +
  • OneToManyGridColumn
  • +
  • TextAreaGridColumn
  • +
  • TextFieldGridColumn
  • +
  • TimePickerGridColumn
  • +
+

Настройка колонок компоненты

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение
Pinned Указывает с какой стороны закрепить колонку
Hidden Указывает видимость колонки
Editable Задает возможность изменять значения в колонке
Header Type Задает тип заголовка колонки(статичный или из переменной процесса)
Sortable Задает возможно сортировать таблицу по значениям колонки
Id Column Задает колонку из базы, откуда будут заполнятся значения в таблице
+

Скрипты

+
    + +
  • MaxAggregationRowValidator -
  • +
  • MinAggregationRowValidator -
  • +
  • RequiredAggregationRowValidator -
  • +
  • EditableGridColumnAggregator - скрипт для подсчёта данных с помощью математических функций или функций агрегации +
      + +
    • aggregationType - тип функции +
        + +
      • BY_COLUMNS - функция агрегации
      • +
      • MATH_EXPRESSION - математическое выражение
      • +
      +
    • +
    • aggregationFunction - Задает дополнительную ячейку со значением, полученным в результате выполнения выбранной функции агрегации. Одно из списка: MAX, MIN, AVG, COUNT, SUM, MULTIPLY. Если задан aggregationType==BY_COLUMNS
    • +
    • columns - колонки для агрегации. Если задан aggregationType==BY_COLUMNS
    • +
    • mathExpression - Математическое выражение. Например ${a_column_id}*${b_column_id}. Можно задать если MATH_EXPRESSION=MATH_EXPRESSION. Допустимые операции: сложение +, вычитание -, умножение *, деление /, остаток от деления %, возведение в степень **. См. https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Math#arithmetic_operators. Если задан aggregationType==MATH_EXPRESSION
    • +
    +
  • +
+

Форматеры

+ + + + + + + + + + + + + + + + + + +
Наименование форматера Назначение форматера Настраиваемые значения
NumberAggregationFormatter Форматирует агрегированное значение в ‘итого’. Script, Decimal Delimiter, Decimal Length, Sections Delimiter, Sections Length.
RoundingAggregationFormatter Округляет агрегированное числовое значение в ‘итого’. Decimals.
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Какие таблицы БД необходимо включать в Граф сущностей редактируемого грида? Только те, в которые необходимо сохранять данные при сохранении или включать и те таблицы, которые используются и для отображения данных в элементах, входящих в таблицу (комбобокс например)? Включать необходимо все таблицы отображаемые в гриде.
При редактировании записей и последующем сохранении в БД производился INSERT новой записи, а не UPDATE уже существующей.? Неправильная настройка компоненты.
Каким образом настраивать свойство “Подлежит сохранению” у самого грида и элементов внутри него? В той ячейке, где мне не нужно сохранять данные в БД ставит значение FALSE ? Свойство"Подлежит сохранению"необходимо указывать только у EditableGrid.
Как будет работать компонента ОТМ внутри грида. При быстром просмотре и добавлении увидели, что нет возможности вызвать диалоговое окно для выбора записи Будет исправлено в последующих версиях
При использовании комбинации ctrl A, ctrl C и ctrl V в строке данные вставляются, но при переключении на другую строку сбрасываются. При копировании значения из одного эдитора в другой, значение вставляется, в случае вставки значения в Combobox необходимо дополнительно выбрать значение из списка.
Каким образом будет настроено удаление записи в гриде? Выделение строк и нажатие кнопки удаления.
Как подвести итоги по колонке, а не по строчке Чтобы подвести итог по колонке, необходимо в нужной колонке указать свойства Aggregation Function
Как обратиться к ячейке, чтобы задать значение с помощью ActionController, например, при нажатии на кнопку на форме Если нажата кнопка “Отклонить” на форме, то для всех ранее отмеченных строк (с помощью флага) в EG выставить значение ячеек статус (ComboBox) в этих строках в значение “Отклонить”. С помощью ActionController нельзя обратиться к ячейке.
Как реализовать проверку заполненности ячейки EG в зависимости от значения другой ячейки с выдачей диалога и последующим возвращением фокуса в ячейку, которая не должна остаться пустой. Как это сделать в рамках одной строчки, а также в рамках разных строчек, а также всего EG (например, в зависимости от каких то агрегатов - итогов по строчкам или колонкам). Если пользователь выбирает в ячейке EG статус “Отклонено” (ComboBox) , то соседняя ячейка в строке “Причина отклонения” не должна остаться пустой - выдать диалог и вернуться в пустую ячейку, не давая из нее выйти без заполнения .• Если за день списано больше 24 часов - то вызвать диалог “Много работаете”• Если в понедельник по первой задаче списано 8 часов, то в среду по связанной задаче не может быть меньше 4 часов.• Перед самым моментом сохранения формы, проверить ВСЕ ячейки EG в колонке “комментарий пользователя” на их заполненность , если в соседних ячейках “Статус” найдены значения “Отклонить”. С помощью ActionController нельзя обратиться к ячейке.
Как задать фиксированную ширину колонки EG в пикселях? Можно задать Width в ячейке. Чтобы зафиксировать ширину нужно задать Width Fixed, временно эта функция не работает, исправляем.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/EditableOneToMany.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/EditableOneToMany.html new file mode 100644 index 0000000..d5af35b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/EditableOneToMany.html @@ -0,0 +1,118 @@ + + + + + + + + Web-BPM Docs – EditableOneToMany + + + + + + +
+
+ + + +
+
+

EditableOneToMany

+

Назначение компонента

+

Составной компонент EditableOneToMany служит для создания и редактирование записей. Работает по аналогии с EditableGrid, но работа происходит в отдельном окне.

+

+

При нажатии на кнопку “Создать”:

+

+

Настройка компонента

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+
    + +
  1. + +

    Настройка кнопок
    +Buttons содержит в себе кнопки: создать, редактировать, удалить. Описание настройки кнопок можно посмотреть в разделе Компоненты > Кнопки.

    +
  2. +
  3. + +

    Настройка EditableGrid
    +Настроить EditableGrid

    +
  4. +
  5. Настройка диалогового окна: +
      + +
    1. Настроить Form
    2. +
    3. Настроить Buttons
      +Buttons содержит в себе кнопки диалогового окна. Описание настройки кнопок можно посмотреть в разделе Компоненты > Кнопки.
    4. +
    +
  6. +
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/ManyToMany.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/ManyToMany.html new file mode 100644 index 0000000..8d015dc --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/ManyToMany.html @@ -0,0 +1,464 @@ + + + + + + + + Web-BPM Docs – ManyToMany + + + + + + +
+
+ + + +
+
+

ManyToMany

+

Назначение компонента

+

Компонент ManyToMany предназначен для выбора одного или нескольких значений. Выбранные значения будут отображены в поле таблицы.

+

Общий вид типового справочника для множественного выбора представлен на рисунке:

+

+

Логика работы

+

Для осуществления выбора требуемых значений из справочника нужно последовательно выполнить следующие операции:

+

+

Пошаговая работа пользователя с ManyToMany …

+

Поиск значений

+

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

+

рис. 1

+

По кнопке «Изменить» (текст кнопки может быть изменен), открывается диалоговое окно заполнения компонента:

+

+

Поиск требуемых значений в справочнике может осуществляться вручную (визуально).

+

Указание требуемых значений

+

После нахождения требуемого значения в справочнике нужно указать на него при помощи мыши. Поле указанного значения окрасится в серый цвет. Общий вид указанного требуемого значения приведен на рисунке:

+

Выбираем значения из справочника

+

Формирование списка требуемых значений

+

После указания требуемого значения в справочнике нужно переместить их в область выбранных значений в правой части диалогового окна при помощи кнопок:

+

Кнопки выбора

+

Добавим значения в список требуемых значений:

+

Добавляем значения, тем самым формируя список значений

+

Сохранение требуемых значений

+

После формирования списка требуемые значения нужно сохранить. Для этого нужно нажать на кнопку «Ок». После выполнения указанного действия диалоговое окно будет закрыто, а выбранное значение отобразится в поле формы, из которой было вызвано диалоговое окно.

+

Компонент заполнен выбранными значениями

+

Настройка компонента

+
    + +
  1. Необходимо добавить компонент ManyToMany на страницу. +

    Для того чтобы данные, отобранные с помощью этого компонента, сохранялись в базу данных, его необходимо вложить в компонент Form.

  2. +
+

+

ManyToMany – это составной компонент, состоящий из след. элементов:

+

+

Здесь:

+

+

Настроим каждый элемент отдельно.

+

шаг 0. Продумать состав данных…

+

Для этого определимся какие таблицы будем использовать:

+

+
    + +
  • Таблица А — таблица, к которой привязывается справочник (таблица B)
  • +
  • Таблица А_В — линковая (Link) таблица, она будет заполняться из А и В
  • +
  • Таблица В — таблица-справочник, из которой будут браться значения
  • +
+

шаг 1. Настройка Form…

+

Если компонент ManyToMany вложен в компонент Form, то предварительно необходимо настроить компонент Form.

+

Для этого в структуру сущностей Form добавьте таблицу А (см. шаг 0).

+

шаг 2. Настройка основной области — LinkField

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
rowsAddedEvent событие, которое триггерится при добавлении строк
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
LinkFieldRpcService → LinkFieldService linkFieldDao graph Выбор графа сущностей для подгрузки и сохранения данных. Главной сущностью должна быть таблица – справочник (таблица B), который линкуется (refToSecondTablePK)
LinkFieldRpcService LinkFieldService linkFieldDao distinct Исключить дублирующиеся записи
GridColumns Добавление колонок. С помощью кнопки « + » добавляем элементы. Каждый элемент является колонкой(столбцом). Имеет следующие свойства: +
    +
  • field – задает пару таблица:колонка в БД
  • +
  • displayName – отображаемое наименование колонки
  • +
  • sortOrder (ASC | DESC) – указывает порядок сортировки значений в указанном столбце — по возрастанию или по убыванию
  • +
  • width – задает ширину
  • +
  • formatter – задает скрипт для манипуляции с отображением данных при загрузке
LinkFieldSelectionScript multiselectable – возможность выбирать сразу несколько элементов
LinkFieldCustomSaveLoadScript Задание связи между таблицами: +
    +
  • refToSecondTablePKFromLinkTable – ссылка на справочник (таблица В) из линковой таблицы А_В
  • +
  • refToMainTablePKFromLinkTable – ссылка на таблицу А из линковой таблицы А_В
  • +
  • mainTablePKColumn – первичный ключ таблицы-сущности из структуры сущ. Form к которой привязывается справочник (не обязательно главная!)
+

шаг 3. Настройка ChangeButton…

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
caption наименование кнопки, видимое пользователю Изменить
confirmation text если задать здесь текст, то пользователю будет отображёно диалоговое окно с этим текстом и кнопками Да/Нет. Используется для подтверждения действия
+

шаг 4. Настройка диалогового окна выбора значений SelectDialog…

+

Диалог выбора (SelectDialog) состоит из двух частей:

+

+
    + +
  • GridsPanel который включается в себя:
    +
  • +
  • ButtonsContainer который содержит в себе кнопки диалогового окна
  • +
+

Настроим каждый блок по отдельности:

+

Настройка GridsPanel


+
    + +
  1. +

    Настройка таблицы списка значений AvailableRecordsGrid

  2. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
GridRpcService → gridService → LoadDao → graph Выбор графа сущностей для подгрузки и сохранения данных. Главной сущностью должна быть та же таблица, что и в графе LinkField. Этот граф может быть чуть более расширенный – например для сортировки.
GridColumns Добавление колонок. С помощью кнопки « + » добавляем элементы. Каждый элемент является колонкой(столбцом). Имеет следующие свойства: +
    +
  • field – задает пару таблица:колонка в БД
  • +
  • displayName – отображаемое наименование колонки
  • +
  • sortOrder (ASC | DESC) – указывает порядок сортировки значений в указанном столбце — по возрастанию или по убыванию
  • +
  • width – задает ширину
  • +
  • formatter – задает скрипт для манипуляции с отображением данных при загрузке
+

2. Настройка кнопок действий Buttons

+

В этом контейнере находятся кнопки управления перемещением в/из таблицы списка значений. Они настраиваются аналогично любым другим кнопкам.

+

3. Настройка таблицы выбранных значений LinkFieldDialog

+

Настраивать необязательно. Настраивается для более детального вывода.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
GridColumns Добавление колонок. С помощью кнопки « + » добавляем элементы. Каждый элемент является колонкой(столбцом). Имеет следующие свойства: +
    +
  • field – задает пару таблица:колонка в БД
  • +
  • displayName – отображаемое наименование колонки
  • +
  • sortOrder (ASC | DESC) – указывает порядок сортировки значений в указанном столбце — по возрастанию или по убыванию
  • +
  • width – задает ширину
  • +
  • formatter – задает скрипт для манипуляции с отображением данных при загрузке
LinkFieldSelectionScript multiselectable – возможность выбирать сразу несколько элементов
+

Настройка ButtonsContainer

+

В этом контейнере находятся кнопки управления перемещением в/из таблицы списка значений. Они настраиваются аналогично любым другим кнопкам.

+

Пример минимальной настройки компонента ManyToMany…

+

Задача: Необходимо организовать заполнение поля таблицы «Тема услуги, предоставленной гражданину» (Таблица А_В) путем выбора из справочника «Услуги» (Таблица В).

+

+

Дано:

+
    + +
  • Таблица А - таблица «Тема услуги, предоставленной гражданину»
  • +
  • Таблица А_В - линковая (Link) таблица
  • +
  • Таблица В - таблица-справочник «Услуги»
  • +
+
    + +
  1. В структуру сущностей Form добавляем таблицу А.
  2. +
  3. В Form добавляем компонент ManyToMany.
  4. +
  5. Настраиваем основную область LinkField в ManyToMany: +
      + +
    1. LinkFieldRpcService → LinkFieldService linkFieldDao__→ graph:
      +Главной сущностью является справочник (Таблица В). Добавьте линковую таблицу А_В и установите связь с главной сущностью (стрелка от справочника к линковой таблице).
      +Добавьте все остальные таблицы и связи, если хотите отобразить дополнительную информацию в основной области LinkField и настройте в GridColumns.
    2. +
    3. Зададим связи между таблицами в LinkFieldCustomSaveLoadScript:
    4. +
    +
      + +
    • refToSecondTablePKFromLinkTable – ссылка на справочник (Таблица В) из линковой таблицы А_В.
    • +
    • refToMainTablePKFromLinkTable – ссылка на таблицу А из линковой таблицы А_В.
    • +
    • mainTablePKColumn – выбираем первичный ключ таблицы, добавленной в структуру сущностей Form в п. 1.
    • +
    +
  6. +
  7. Настройка таблицы списка значений AvailableRecordsGrid в SelectDialog: +

    GridRpcService → gridService → LoadDao → graph:

    +

    Главной сущностью является та же таблица, что и в графе LinkField (см. п. 3а). Добавьте все остальные таблицы и связи, если хотите отобразить дополнительную информацию в таблице списка значений и настройте в GridColumns.

    +

    Не добавляйте линковую таблицу в структуру сущностей AvailableRecordsGrid! Это замножит записи.

  8. +
+

Формирование склейки на основе колонки из LinkField

+

SpliceColumnValues - скрипт для формирования склейки на основе колонки из LinkField

+ + + + + + + + + + + + + + + + + + + + + + + + +
Параметр Назначение
prefix префиксный символ склейки
glue разделитель элементов склейки
postfix постфиксный символ склейки
lineBreak флаг для использования переноса строк (если true, то используется перенос строк)
columnOrderNum номер колонки, по которому формируется склейка
+

Пример:

+

При параметрах prefix = ‘[’, glue = ’; ’, postfix = ’]’ и элементах el1, el2, el3, склейка будет выглядеть так: [el1; el2; el3]

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/ManyToManyField.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/ManyToManyField.html new file mode 100644 index 0000000..c375387 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/ManyToManyField.html @@ -0,0 +1,115 @@ + + + + + + + + Web-BPM Docs – ManyToManyField + + + + + + +
+
+ + + +
+
+

ManyToManyField

+

Назначение компонента

+

Поле, для выбора нескольких значений из справочника.

+

Заполняется по аналогии с ManyToMany. Вместо LinkField заполняется MultiValueField.

+

Настройка компонента

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+

MultiValueField:

+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
graph Граф, по которому будет загружено отображаемое значение. Нет. Обязательно для заполнения.
displayColumn Колонка для отображения. Нет. Обязательно для заполнения.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/OneToMany.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/OneToMany.html new file mode 100644 index 0000000..d126653 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/OneToMany.html @@ -0,0 +1,170 @@ + + + + + + + + Web-BPM Docs – OneToMany + + + + + + +
+
+ + + +
+
+

OneToMany

+

Назначение

+

Компонент OneToMany предназначен для выбора значений из справочника.

+

Незаполненный компонент выглядит следующим образом:

+

+

При нажатии на кнопку “…” открывается диалоговое окно:

+

+

Пример заполнения данными компонента:

+

+

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+

Пример заполнения:

+

Необходимо добавить компонент OneToMany на страницу.

+

Для того чтобы данные, отобранные с помощью этого компонента, сохранялись в базу данных, его необходимо вложить в компонент Form.

+

+

OneToMany – это составной компонент, состоящий из след. элементов:

+

+

Здесь:

+

+

Настроим каждый элемент отдельно.

+

1. Настройка OneToManyField:

+

Настроить аналогично Autocomplete.

+

2. Настройка кнопки диалогового окна “…”:

+

Настроить SelectButton.

+

3. Настройка диалогового окна:

+

3.1 Настроить Grid.

+

3.2 Настройка FilterPanel:

+

Заполнить FilterFieldSet:

+

В FilterFieldSet вкладываются компоненты из раздела Компоненты > Фильтры, в зависимости от того по полям какого типа собираетесь фильтровать: по дате - FilterDateTimePicker, по тексту - FilterTextField, по списку значений - FilterComboBox, и т. д.

+

Заполнить ButtonsContainer:

+

Контейнер ButtonsContainer содержит в себе кнопки диалогового окна. Описание настройки кнопок можно посмотреть в разделе Компоненты > Кнопки.

+

3.3 Заполнить ButtonsContainer:

+

Контейнер ButtonsContainer содержит в себе кнопки диалогового окна. Описание настройки кнопок можно посмотреть в разделе Компоненты > Кнопки.

+

Пример минимальной настройки компонента OneToMany…

+

Задача: Необходимо организовать выбор организации из списка организаций.

+

Добавляем OneToMany (если предполагается сохранение в БД – то в компонент Form)

+

1. Настройка OneToManyField:

+ + + + + + + + + + + + + + + +
Наименование Действие
graph задайте граф сущностей: в примере используются 2 таблицы: organization – организация и organization_version – версия организации (хранит нужную нам информацию по организации)
Column For Save колонка в БД для загрузки и сохранения значения (в списке – таблицы из структуры сущностей Form, в который вложен настраиваемый компонент) – здесь задаем таблицу:колонку куда будем класть выбранную организацию.
+

2. Настройка диалогового окна:

+

Настраиваем Grid:

+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Результат
graph Граф сущностей аналогичен графу OneToManyField (см. п.1.):
columns[size] Отображаемые колонки в Grid. Для примера настроены две колонки: В результате настроенная таблица в диалоге выбора SelectDialog:
+

Настройка FilterPanel:

+

Необходимо настроить фильтрацию в настроенном Grid. Для примера настроим фильтрацию по колонке Full name.

+

В Full name хранится текст, следовательно необходимо в FilterFieldSet добавить фильтр FilterTextField.

+

FilterTextField настраивается аналогично TextField (имеет те же общие свойства), а также свойство, характерное свойство для фильтров – FilterControl:

+

+

Здесь мы выбрали операцию фильтрации CONTAINS – будут отобраны значения содержание введенные пользователем символы и Column For Filter – таблица:колонка, по которой происходит сортировка – в нашей задаче это поле full_name таблицы organization_version.

+

Скрипты

+

component/grid/renderers/Base64ImageCellRenderer.ts - скрипт для отображения изображения. Необходимо выбрать его в свойстве renderer необходимой колонки.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/TreeField.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/TreeField.html new file mode 100644 index 0000000..18a8969 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/TreeField.html @@ -0,0 +1,146 @@ + + + + + + + + Web-BPM Docs – TreeField и TreeMultiField + + + + + + +
+
+ + + +
+
+

TreeField и TreeMultiField

+

Назначение компонента

+

Сложные компоненты для выбора из древовидной структуры одной (TreeField) или нескольких записей (TreeMultiField).

+

TreeField:

+

+

+

TreeMultiField выглядит аналогично.

+

Настройка компонента

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
visible задаёт видимость компоненты true
disabled задаёт редактируемость компоненты false
tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
cssClasses список CSS классов (см. раздел Дизайн)
style список основных свойств: +
    +
  • padding (необходимо указывать единицы измерения)
  • +
  • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
  • +
  • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
  • +
  • height - задает высоту компонента
  • +
  • width - задает ширину компонента
  • +
  • minHeight - задает минимальную высоту компонента
  • +
  • minWidth - задает минимальную ширину компонента
  • +
  • maxHeight - задает максимальную высоту компонента
  • +
  • maxWidth - задает максимальную ширину компонента.
+
    + +
  1. +

    Необходимо настроить TreeGrid:

  2. +
+

Настройка происходит согласно инструкции к TreeGrid.

+

2. Необходимо настроить TreeList:

+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
graph Граф, по которому будет загружено отображаемое значение. Нет. Обязательно для заполнения.
displayColumn Колонка для отображения. Нет. Обязательно для заполнения.
+

3. Необходимо настроить:

+

у TreeField необходимо заполнить Autocomplete.
TreeMultiField необходимо заполнить MultiValueField:

+ + + + + + + + + + + + + + + + + + +
Наименование Назначение Значение по умолчанию
graph Граф, по которому будет загружено отображаемое значение. Нет. Обязательно для заполнения.
displayColumn Колонка для отображения. Нет. Обязательно для заполнения.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/index.html new file mode 100644 index 0000000..97da65f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/index.html @@ -0,0 +1,63 @@ + + + + + + + + Web-BPM Docs – Фильтры + + + + + + + +
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_Фильтр_по_числовому_полю_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_Фильтр_по_числовому_полю_на_страницу_.html new file mode 100644 index 0000000..aabb755 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_Фильтр_по_числовому_полю_на_страницу_.html @@ -0,0 +1,193 @@ + + + + + + + + Web-BPM Docs – Как добавить Фильтр по числовому полю на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить Фильтр по числовому полю на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Реестра сотрудников элемент Таблица, где будет содержаться информация о сотрудниках отдела, и два фильтра: Фильтр по числовому полю и Фильтр по текстовому полю, с помощью которых будет осуществляться поиск записей в Таблице по фамилии сотрудника и по стажу работы сотрудника. Элементы на странице должны иметь следующие настройки:

+
    + +
  • Блок фильтрации на странице должен иметь подзаголовок-Фильтр по сотрудникам, реализованный с помощью компоненты Текст
  • +
  • Фильтр по числовому полю (по стажу работы сотрудника):
    +надпись поля -Стаж работы
    +фильтровать по… -таблице Список сотрудников иколонке Стаж
    +операция фильтрации -Равно
    +максимально возможное значение для ввода - 10
  • +
  • Фильтр по текстовому полю (по фамилии сотрудника):
    +надпись поля -Фамилия
    +фильтровать по… -таблице Список сотрудников иколонке Фамилия(name_last)
    +операция фильтрации -Содержит всю подстроку
  • +
  • Таблица с информацией о сотрудниках:
    Граф сущностей в качестве Главной сущности должна быть определена таблица Список сотрудников, где есть вся необходимая информация для вывода на страницу
    +в структуру Таблицы должны быть включены две колонки: Фамилия сотрудникаи Стаж работы сотрудника
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр сотрудников, где необходимо разместить Таблицу и Фильтры,уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:

+ +

+

рис.1 Добавление элементаНабор фильтров

+

+

рис.2Добавление элементаТекст

+
    + +
  • Добавить внутрь контейнера Набор фильтров компоненту Текстовое поле (фильтр) (рис.3)
  • +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по числовому полю (рис.4)
  • +
  • Добавить Таблицу,в которой будет отображаться информация о сотрудниках и по значениям которой будет осуществляться поиск записей с помощью фильтров (рис.5)
  • +
+

+

рис.3 Добавление компоненты Фильтр по текстовому полю

+

+

рис.4 ДобавлениекомпонентыФильтр по числовому полю


+

рис.5 Добавление элементаТаблица

+
    + +
  • Для того чтобы условия фильтрации применялись к таблице, необходимо добавить кнопки:Кнопка для фильтрации,Кнопка очистки фильтра. Для этого необходимо добавить Горизонтальный контейнер, который будет содержать данные кнопки. (рис.6 и рис.7)
  • +
+

+

рис.6 Добавление элемента Горизонтальный контейнер

+

+

рис.7 Добавление кнопок: Для фильтрации и Очистки фильтрации

+

2. Настройка элементов:

+
    + +
  • Настройка Набора фильтров: переносим объект Таблица, удерживая левую кнопку мыши, в свойство “Применить к…” Набора фильтров как показано на рисунке(рис.8)
  • +
  • Заполняем свойство Надпись у компоненты Текст значением Фильтр по сотрудникам (рис.9)
  • +
+

+

рис.8 Настройка Набор фильтров

+

+

рис.9 Настройка элемента Текст

+
    + +
  • Заполняем у элемента Таблица следующие свойства: Таблица. Подгрузка данных - Источник данных - Граф сущностей (как описано в разделе - Настройка Графа сущностей) и настраиваем колонки Таблицы (как описано в разделе -Настройка колонок Таблицы) в блоке Таблица. Настроить колонки таблицы согласно условиям задачи(рис.10)
  • +
  • Заполняем свойства компоненты Фильтр по текстовому полю согласно условиям задачи (рис.11)
  • +
  • Заполняем свойства компоненты Фильтр по числовому полю согласно условиям задачи (рис.12)
  • +
+

+

рис.10 Настройка элементаТаблица

+

+

рис.11 Настройка компонентыФильтр по текстовому полю

+

+

рис.12 Настройка компоненты Фильтр по числовому полю

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается блок фильтрации, включающий в себя фильтры по имени и фамилии сотрудника (рис.13 и рис.14)

+

+

рис.13 Визуальное отображение выполнения условий задачи

+

+

рис.14 Пример выполнения поиска с примененным условием фильтрации

+

рис.13 Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ +
+ +

image2019-2-27_10-12-42.png (image/png)
+ image2019-2-27_10-31-44.png (image/png)
+ image2019-2-27_11-14-10.png (image/png)
+ image2019-2-27_11-19-57.png (image/png)
+ image2019-2-27_11-22-12.png (image/png)
+ image2019-2-27_11-27-36.png (image/png)
+ image2019-2-28_10-20-51.png (image/png)
+ image2019-2-28_10-25-32.png (image/png)
+ image2019-2-28_10-25-46.png (image/png)
+ image2019-2-28_10-37-29.png (image/png)
+ image2019-2-28_17-8-54.png (image/png)
+ image2019-2-28_17-9-29.png (image/png)
+ image2019-2-28_17-9-59.png (image/png)
+ image2019-3-1_10-28-32.png (image/png)
+ image2019-3-1_10-30-56.png (image/png)
+ image2019-3-1_10-31-39.png (image/png)
+ image2019-3-1_10-32-15.png (image/png)
+ image2019-3-1_10-32-46.png (image/png)
+ image2019-3-1_17-6-26.png (image/png)
+ image2019-3-1_17-7-18.png (image/png)
+ image2019-3-1_17-8-8.png (image/png)
+ image2019-3-1_17-41-39.png (image/png)
+ image2019-3-1_17-42-35.png (image/png)
+ image2019-3-1_17-44-14.png (image/png)
+ image2019-3-11_14-19-40.png (image/png)
+ image2019-3-11_14-20-16.png (image/png)
+ image2019-3-11_16-10-7.png (image/png)
+ image2019-3-11_16-15-42.png (image/png)
+ image2019-3-11_16-16-12.png (image/png)
+ image2019-3-11_16-17-9.png (image/png)
+ image2019-3-11_16-17-41.png (image/png)
+ image2019-3-11_16-19-47.png (image/png)
+ image2019-3-11_16-20-24.png (image/png)
+ image2019-3-11_16-21-11.png (image/png)
+ image2019-3-11_16-21-23.png (image/png)
+ image2019-3-11_16-25-22.png (image/png)
+ image2019-3-15_16-54-5.png (image/png)
+ image2019-3-15_16-59-41.png (image/png)
+ image2019-3-22_10-36-15.png (image/png)
+ image2019-3-22_10-37-45.png (image/png)
+ image2019-3-22_10-41-8.png (image/png)
+ image2019-3-22_10-42-11.png (image/png)
+ image2019-3-22_10-48-28.png (image/png)
+ image2019-3-22_10-49-25.png (image/png)
+ image2019-3-22_10-49-53.png (image/png)
+ image2019-3-22_10-51-12.png (image/png)
+ image2019-3-22_10-53-4.png (image/png)
+ image2019-3-22_10-54-15.png (image/png)
+ image2019-3-22_10-55-26.png (image/png)
+ image2019-3-22_10-56-6.png (image/png)
+ image2019-3-22_10-58-0.png (image/png)
+ image2019-3-22_10-58-26.png (image/png)
+ image2019-3-22_11-1-15.png (image/png)
+ image2019-3-22_11-2-36.png (image/png)
+ image2019-3-22_11-3-1.png (image/png)
+ image2019-3-22_11-15-36.png (image/png)
+ image2019-3-22_11-17-41.png (image/png)

+
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_выпадающему_списку_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_выпадающему_списку_на_страницу_.html new file mode 100644 index 0000000..15e3a3d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_выпадающему_списку_на_страницу_.html @@ -0,0 +1,159 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Фильтр по выпадающему списку на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Фильтр по выпадающему списку на страницу?

+

Постановказадачи: необходимо реализовать на пользовательской странице Реестра сотрудников компонент Таблица, где будет содержаться информация о сотрудниках отдела. Поиск по Таблице должен осуществляться по фамилии сотрудника в виде фильтра по текстовому полю и организации к которой относится сотрудник, в виде фильтра по выпадающему списку. Элементы на странице должны иметь следующие настройки:

+
    + +
  • Блок фильтрации на странице должен иметь подзаголовок -Фильтр по сотрудникам, реализованный с помощью компоненты Текст
  • +
  • Фильтр по текстовому полю (по фамилии сотрудника): +

    надпись поля -Фамилия
    +фильтровать по… -таблице Список сотрудников иколонке(name_last)
    +операция фильтрации -Содержит всю подстроку

  • +
  • + +

    Фильтр по статичному выпадающему списку:
    +надпись поля -Организация: фильтровать по… -таблице Организация иколонке Наименование (name)
    +операцию фильтрации -Содержится всю подстроку сортировать по - таблице Организация иколонке Наименование (name)
    +Показывать пользователю -таблица Организация иколонке Наименование (name) Граф сущностей - в качестве Главной сущности должна быть определена таблица Организаций (legal_entities)

    +
  • +
  • Таблица с информацией о сотрудниках:
    Граф сущностей в качестве Главной сущности должна быть определена таблица Список сотрудников, где есть вся необходимая информация для вывода на страницу.
  • +
+

Решение задачи:

+

Предполагается, что страницаРеестр сотрудников,где необходимо разместить Таблицу и Фильтры по текстовому полю,уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:

+ +

рис.1 Добавление элементаНабор фильтров

+

рис.2 Добавление элементаТекст

+
    + +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по текстовому полю (рис.3)
  • +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по выпадающему списку (рис.4)
  • +
  • Добавить Таблицу, в которой будет отображаться информация о сотрудниках и по значениям которой будет осуществляться поиск записей с помощью фильтров (рис.5)
  • +
+

+

рис.3 Добавление компонентФильтр по текстовому полю

+

+

рис.4 Добавление компонентФильтр по выпадающему списку

+

+

рис.5 Добавление элемента Таблица

+
    + +
  • Для того чтобы условия фильтрации применялись к таблице, необходимо добавить кнопки:Кнопка для фильтрации,Кнопка очистки фильтра. Для этого необходимо добавить Горизонтальный контейнер, который будет содержать данные кнопки. (рис.6 и рис.7)
  • +
+

+

рис.6 Добавление элементаГоризонтальный контейнер

+

+

рис.7 Добавление кнопок: Для фильтрации и Очистки фильтрации

+

2. Настройка элементов:

+
    + +
  • Настройка Набора фильтров: переносим объект Таблица, удерживая левую кнопку мыши, в свойство “Применить к…” Набора фильтров как показано на рисунке (рис.8)
  • +
  • Заполняем свойство Надпись у компоненты Текст значением Фильтр по сотрудникам (рис.9)
  • +
+

+

рис.8 Настройка Набор фильтров

+

+

рис.9 Настройка элементаТекст

+
    + +
  • Заполняем у элемента Таблица следующие свойства: Таблица. Подгрузка данных - Источник данных - Граф сущностей (как описано в разделе -Настройка Графа сущностей) и настраиваем колонки Таблицы (как описано в разделе -Настройка колонок Таблицы) в блоке Таблица. Настроить колонки таблицы согласно условиям задачи (рис.10)
  • +
+

**
+**

+

+

рис.10 Настройка элемента Таблица

+

+

рис.11Настройка Фильтра по фамилии сотрудника

+
    + +
  • Заполняем свойства компонент Фильтрация по статичному выпадающему списку согласно условиям задачи (рис.12)
  • +
+

+

рис.12 Настройка Фильтра по организации сотрудника

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается блок фильтрации, включающий в себя фильтры по фамилии сотрудника и организации (рис.13, рис.14 и рис.15)

+


+

+

рис.13 Визуальное отображение выполнения условий задачи

+

рис. 14 Визуальное отображение выбора значения фильтра из выпадающего списка

+

+

рис.15 Пример выполнения поиска с примененным условием фильтрации

+

**
+**

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_дате_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_дате_на_страницу_.html new file mode 100644 index 0000000..b997c83 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_дате_на_страницу_.html @@ -0,0 +1,136 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Фильтр по дате на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Фильтр по дате на страницу?

+

Постановка задачи: необходимо добавить на пользовательскую страницу Реестр сотрудников элемент Фильтр по дате, с помощью которого будет осуществляться фильтрация (поиск) записей в Таблице сотрудников по Дате рождения сотрудника. Пользовательская страница с Фильтром по дате должна иметь следующие условия:

+
    + +
  • Блок фильтрации на странице должен иметь подзаголовок:“Фильтр по сотрудникам”.
  • +
  • Фильтр по дате должен иметь надпись: “Дата рождения”.
  • +
  • Минимальное возможное значение должно быть - 01.01.1900.
  • +
  • Формат поля должен быть в виде даты, не должно отображаться время
  • +
  • Операция фильтрации -Содержит всю подстроку
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр сотрудниковуже создана бизнес-аналитиком и включаетв себя необходимую Таблицу с информацией о сотрудниках, по записям которой будет осуществляться дальнейший поиск с помощью фильтра по Дате рождения сотрудника. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:
+
+

+
    + +
  • Добавить элемент Текст в Набор фильтров и заполнить в его свойствах “надпись”, которая будет являться заголовком к нашему фильтру. (рис.1)
  • +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по дате. (рис.2)
  • +
+

+

Рис.1 Добавление элементаТекст

+

Рис.2 ДобавлениекомпонентыФильтр по дате.

+
    + +
  1. Настройка элементов:
  2. +
+
    + +
  • Заполняем свойства компоненты текст как показано на рис.3
  • +
+

+

Рис. 3 Настройка компоненты Текст.

+
    + +
  • Заполняем свойства компоненты фильтр по дате как показано на рис.4
  • +
+

+

Рис. 4 Настройка компоненты Фильтр по дате.

+
    + +
  • Результат выполнения задачи:
  • +
+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.5).

+

+

рис.5 Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_полю_многострочного_ввода_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_полю_многострочного_ввода_на_страницу_.html new file mode 100644 index 0000000..53563e1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_полю_многострочного_ввода_на_страницу_.html @@ -0,0 +1,172 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Фильтр по полю многострочного ввода на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Фильтр по полю многострочного ввода на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Карточка реестра сотрудников элементТаблица, где будет содержаться информация о сотрудниках отдела. На странице должны присутствовать фильтр по текстовому полю и фильтр по полю многострочного ввода, с помощью которых будет осуществляться поиск записей в Таблице. Элементы на странице должны иметь следующие настройки:

+
    + +
  • Блок фильтрации на странице должен иметь подзаголовок -Фильтр по сотрудникам, реализованный с помощью компоненты Текст
  • +
  • Фильтр по текстовому полю (по фамилии сотрудника): +

    надпись поля -Фамилия:
    +фильтровать по… -таблице Список сотрудников иколонке Фамилия (name_last)
    +операция фильтрации -Содержит всю подстроку

  • +
  • + +

    Фильтр по полю многострочного ввода:

    +

    надпись поля -Электронный адрес:
    +фильтровать по… -таблице Список сотрудников иколонке Электронный адрес (user_email)
    +операция фильтрации -Содержит всю подстроку

    +
  • +
  • + +

    Таблица с информацией о сотрудниках: в Граф сущностей в качестве Главной сущности должна быть определена таблица Список сотрудников, где есть вся необходимая информация для вывода на страницу в структуру Таблицы должны быть включены две колонки:Фамилия сотрудникаиЭлектронный адрессотрудника

    +
  • +
+

Решение задачи:

+

Предполагается, что страница Карточки реестра сотрудников уже создана бизнес-аналитиком. Для добавления на страницу и настройки компонентов по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:

+ +

+

Рис.1 Добавление элемента Набор фильтров

+

+

Рис.2 Добавление элемента Текст

+

+

Рис.3 Добавление компонентФильтр по текстовому полю

+

+

Рис.4 Добавление элемента Таблица

+

+

Рис.5 Добавление элемента Фильтр по полю многострочного ввода

+
    + +
  • Для того чтобы условия фильтрации применялись к таблице, необходимо добавить кнопки:Кнопка для фильтрации,Кнопка очистки фильтра. Для этого необходимо добавить Горизонтальный контейнер, который будет содержать данные кнопки. (рис.6 и рис.7)
  • +
+

рис.6 Добавление элемента Горизонтальный контейнер****

+

рис.7 Добавление кнопок: Для фильтрации и Очистки фильтрации

+

2. Настройка элементов:

+ +

Переносим объект Таблица в свойства “Применить к…” Набора фильтров как показано на рисунке (рис.8)

+

+

Рис.8 Настройка Набор фильтров

+
    + +
  • Заполняем свойство “Надпись” у компоненты Текст (рис.9)
  • +
+

+

Рис.9 Настройка элементаТекст

+
    + +
  • Заполняем у элемента Таблица следующие свойства: Таблица. Подгрузка данных - Источник данных - Граф сущностей (как описано в разделе -Настройка Графа сущностей) и настраиваем колонки Таблицы (как описано в разделе -Настройка колонок Таблицы) в блоке Таблица. Настроить колонки таблицы согласно условиям задачи (рис.10)
  • +
+

+

Рис.10 Настройка элемента Таблица

+
    + +
  • Заполняем свойства компоненты фильтрации по текстовому полю как показано на рис.11
  • +
+

+

Рис.11 Настройка элемента Фильтрация по текстовому полю

+
    + +
  • Заполняем свойства компоненты Фильтрации по полю многострочного ввода как показано на рис.12
  • +
+

+

Рис.12 Настройка элементаФильтрация по полю многострочного ввода

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается блок фильтрации, включающий в себя фильтры по имени и фамилии сотрудника (рис.13 и рис.14)

+

+

рис.13 Визуальное отображение выполнения условий задачи

+

рис.14 Пример выполнения поиска с примененным условием фильтрации

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_статичному_выпадающему_списку_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_статичному_выпадающему_списку_на_страницу_.html new file mode 100644 index 0000000..c95f8be --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_статичному_выпадающему_списку_на_страницу_.html @@ -0,0 +1,140 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Фильтр по статичному выпадающему списку на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Фильтр по статичному выпадающему списку на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Реестра сотрудников компонент Таблица, где будет содержаться информация о сотрудниках отдела. Поиск по Таблице должен осуществляться по фамилии сотрудника в виде фильтра по текстовому полю и организации к которой относится сотрудник, в виде фильтра по статичному выпадающему списку. Элементы на странице должны иметь следующие настройки:

+
    + +
  • Блок фильтрации на странице должен иметь +
      + +
    • подзаголовок -Фильтр по сотрудникам, реализованный с помощью компоненты Текст
    • +
    +
  • +
  • Фильтр по текстовому полю (по фамилии сотрудника): +
      + +
    • надпись поля -Фамилия
    • +
    • фильтровать по… -таблице Список сотрудников и колонке (name_last)
    • +
    • операция фильтрации -Содержит всю подстроку
    • +
    +
  • +
  • + +

    Фильтр по статичному выпадающему списку:

    +
      + +
    • надпись поля - Организация:
    • +
    • фильтровать по… -таблице Организация иколонке Наименование (name)
    • +
    • операцию фильтрации -Содержится в “Список значений” - Три элемента. 1) Элемент: Надпись -УФНС РФ Значение - УФНС РФ 2) Элемент: Надпись -ООО Березка Значение -ООО Березка 3) Элемент: Надпись -ИП Чемоданова Значение -ИП Чемоданова
    • +
    +
  • +
  • Таблица с информацией о сотрудниках: в Граф сущностей в качестве Главной сущности должна быть определена таблица Список сотрудников, где есть вся необходимая информация для вывода на страницу.
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр сотрудников, где необходимо разместить Таблицу и Фильтры по текстовому полю, уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:

+ +

+

рис.1 Добавление элемента Набор фильтров

+
    + +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по текстовому полю (рис.3)
  • +
  • Добавить внутрь контейнера Набор фильтров компоненту Фильтр по статичному выпадающему списку (рис.4)
  • +
  • Добавить Таблицу, в которой будет отображаться информация о сотрудниках и по значениям которой будет осуществляться поиск записей с помощью фильтров (рис.5)
  • +
+

+

рис.3 Добавление компонент Фильтр по текстовому полю

+

+

рис.5 Добавление элемента Таблица

+
    + +
  • Для того чтобы условия фильтрации применялись к таблице, необходимо добавить кнопки: Кнопка для фильтрации, Кнопка очистки фильтра. Для этого необходимо добавить Горизонтальный контейнер, который будет содержать данные кнопки. (рис.6 и рис.7)
  • +
+

+

рис.6 Добавление элемента Горизонтальный контейнер

+

+

рис.7 Добавление кнопок: Для фильтрации и Очистки фильтрации

+

2. Настройка элементов:

+
    + +
  • Настройка Набора фильтров: переносим объект Таблица, удерживая левую кнопку мыши, в свойство “Применить к…” Набора фильтров как показано на рисунке (рис.8)
  • +
  • Заполняем свойство Надпись у компоненты Текст значением Фильтр по сотрудникам (рис.9)
  • +
+

+

рис.8 Настройка Набор фильтров

+

+

рис.9 Настройка элемента Текст

+
    + +
  • Заполняем у элемента Таблица следующие свойства: Таблица. Подгрузка данных - Источник данных - Граф сущностей (как описано в разделе -Настройка Графа сущностей) и настраиваем колонки Таблицы (как описано в разделе -Настройка колонок Таблицы) в блоке Таблица. Настроить колонки таблицы согласно условиям задачи (рис.10)
  • +
+

+

рис.10 Настройка элементаТаблица

+
    + +
  • Заполняем свойства компонент фильтрации по текстовому полю согласно условиям задачи (рис.11)
  • +
+

+

рис.11 Настройка Фильтра по фамилии сотрудника

+
    + +
  • Заполняем свойства компонент Фильтрация по статичному выпадающему списку согласно условиям задачи (рис.12)
  • +
+

+

рис.12 Настройка Фильтра по организации сотрудника

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается блок фильтрации, включающий в себя фильтры по фамилии сотрудника и организации (рис.13 и рис.14)

+

+

рис.13 Визуальное отображение выполнения условий задачи

+

рис.14 Пример выполнения поиска с примененным условием фильтрации

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_текстовому_полю_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_текстовому_полю_на_страницу_.html new file mode 100644 index 0000000..e7de967 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_добавить_элемент_Фильтр_по_текстовому_полю_на_страницу_.html @@ -0,0 +1,178 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Фильтр по текстовому полю на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Фильтр по текстовому полю на страницу?

+

**Постановка задачи: **необходимо реализовать на пользовательской странице Реестра сотрудников компонент Таблица, где будет содержаться информация о сотрудниках отдела, и два Фильтра по текстовому полю, с помощью которых будет осуществляться поиск записей в Таблицепо фамилии сотрудника и по имени сотрудника. Элементы на странице должны иметь следующие настройки:

+
    + +
  • Блок фильтрации на странице должен иметь +
      + +
    • подзаголовок - Фильтр по сотрудникам, реализованный с помощью компоненты Текст
    • +
    +
  • +
  • Фильтр по текстовому полю (по фамилии сотрудника): +
      + +
    • надпись поля -Фамилия
    • +
    • фильтровать по… -таблице Список сотрудников иколонке Фамилия(name_last)
    • +
    • операция фильтрации -Содержит всю подстроку
    • +
    +
  • +
  • Фильтр по текстовому полю (по имени сотрудника): +
      + +
    • надпись поля -Имя
    • +
    • фильтровать по… -таблице Список сотрудников иколонке Имя (name_first)
    • +
    • операция фильтрации -Содержит всю подстроку
    • +
    +
  • +
  • Таблица с информацией о сотрудниках:
    Граф сущностей в качестве Главной сущности должна быть определена таблица Список сотрудников, где есть вся необходимая информация для вывода на страницу
    +в структуру компоненты Таблица должны быть включены две колонки: Фамилия сотрудника и Имя сотрудника
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр сотрудников, где необходимо разместить Таблицу и Фильтры по текстовому полю, уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки компонент по условиям задачинеобходимо сделать следующее:

+

1. Добавление элементов:
+

+ +

+

рис.1 Добавление элемента Набор фильтров

+

+

рис.2Добавление элемента Текст

+
    + +
  • Добавить внутрь контейнера Набор фильтров две компоненты Фильтр по текстовому полю (рис.3)
  • +
  • Добавить Таблицу, в которой будет отображаться информация о сотрудниках и по значениям которой будет осуществляться поиск записей с помощью фильтров (рис.4)
  • +
+

+

рис.3 Добавление компонентФильтр по текстовому полю

+

+

рис.4 Добавление элемента Таблица

+
    + +
  • Для того чтобы условия фильтрации применялись к таблице, необходимо добавить кнопки: Кнопка для фильтрации, Кнопка очистки фильтра. Для этого необходимо добавить Горизонтальный контейнер, который будет содержать данные кнопки. (рис.5 и рис.6)
  • +
+

+

рис.5 Добавление элемента Горизонтальный контейнер

+

рис.6 Добавление кнопок: Для фильтрации и Очистки фильтрации

+

2. Настройка элементов:

+
    + +
  • Настройка Набора фильтров: переносим объект Таблица, удерживая левую кнопку мыши, в свойство “Применить к…” Набора фильтров как показано на рисунке (рис.6)
  • +
  • Заполняем свойство Надпись у компоненты Текст значением Фильтр по сотрудникам (рис.7)
  • +
+

+

рис.6 Настройка Набор фильтров

+

+

рис.7 Настройка элементаТекст

+
    + +
  • Заполняем у элемента Таблица следующие свойства: Таблица. Подгрузка данных - Источник данных - Граф сущностей (как описано в разделе -Настройка Графа сущностей) и настраиваем колонки Таблицы (как описано в разделе -Настройка колонок Таблицы) в блоке Таблица. Настроить колонки таблицы согласно условиям задачи (рис.8)
  • +
  • Заполняем свойства компонент фильтрации по текстовому полю согласно условиям задачи (рис.9, рис.10)
  • +
+

+

рис.8 Настройка элемента Таблица

+

+

рис.9 Настройка Фильтра по фамилии сотрудника

+

+

рис.10 Настройка Фильтра по имени сотрудника

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и на странице отображается блок фильтрации, включающий в себя фильтры по имени и фамилии сотрудника (рис.11 и рис.12)

+

+

рис.11 Визуальное отображение выполнения условий задачи

+

+

рис.12 Пример выполнения поиска с примененным условием фильтрации

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_Флагу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_Флагу_.html new file mode 100644 index 0000000..0ba3adb --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_Флагу_.html @@ -0,0 +1,181 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Фильтр по Флагу? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту Фильтр по Флагу?

+

Постановказадачи: на пользовательской странице Реестр задач необходимо обеспечить возможность поиска задач в компоненте Таблица, которые удовлетворяют условию, что их готовность подтверждена руководителем. Это условие задается пользователем с использованием компоненты Флаг, проставлением или снятием отметки в поле компоненты.

+

Страница “Реестр задач” должна иметь следующие настройки:

+
    + +
  • на web-странице должна быть размещена компонента Таблица, в графе сущности которой основной таблицей должна быть назначена “Список задач” (tasks). В нейимеется колонка, в которой хранится отметка о факте подтверждения руководителем готовности той или иной задачи.
  • +
  • на web-странице должна быть размещена компонента Набор фильтров, и настроена на компоненту Таблица
  • +
  • внутри компоненты Набор фильтров следует расположить компоненту Фильтр по Флагу для поиска по параметру “Готовность задачи подтверждена руководителем”
  • +
  • колонка базы данных для поиска по значениям из компоненты Фильтр по флагу -tasks.approved_chief_temp
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр задач уже создана аналитиком и включена в логику бизнес-процесса. Для задействования компоненты Фильтр по флагу необходимо сделать следующее:

+
    + +
  • Добавить на страницу компоненту Таблица, настроить ее граф сущностей и колонки (рис.1)
  • +
+

+

рис.1 Расположение компоненты Таблица и настройка ее основных параметров

+
    + +
  • На одном уровне с компонентом Таблица добавить в состав страницы компоненту Набор фильтров. Связать Компоненту Набор фильтров с компонентой Таблица для указания источника данных фильтрации (рис.2)
  • +
+

+

рис.2 Расположение компоненты Набор фильтров и взаимосвязь с компонентой Таблица

+
    + +
  • Добавить компоненты “Кнопка для фильтрации” и “Кнопка очистки фильтра” внутрь компоненты “Набор фильтров” для возможности запуска процесса фильтрации по значению из компоненты “Постановщик задачи” (кнопки нужны потому, что в свойстве компоненты “Набор фильтров” отключен режим “Фильтровать сразу”)
  • +
+

+

рис.3 Настройка кнопок фильтрации

+
    + +
  • Внутри компоненты Набор фильтров расположить компоненту Фильтр по Флагу (рис.4)
  • +
+

+

рис.4 Настройка основных параметров компоненты Фильтр по Флагу

+
    + +
  • Настроить операцию фильтрации (рис.5)
  • +
+

+

рис.5 Настройка операции фильтрации

+
    + +
  • Настроить колонку фильтрации (рис.6)
  • +
+

+

рис. 6 Настройка колонки фильтрации

+

Значение параметра “Правило обработки MultiValue значений” для данной компоненты не принципиально (“И”/“ИЛИ”), поскольку компонента не предоставляет возможность выбирать несколько значений. В параметре “Конвертер” соответствующий модуль подбирается и выставляется системой автоматически, без участия пользователя

+

На этом настройка страницы закончена, можно собрать приложение и проверить работу компоненты.

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображаются таблица и блок фильтрации с компонентой “Фильтр по Флагу” (рис.7 - рис.9)

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+
+ +

+
+

рис.7 Открытие страницы.

+ +

В таблице указаны все задачи .

+ +


+

+

рис. 8 Активизация компоненты - проставляем отметку в поле компоненты.

+ +

Пока ничего не меняется, поскольку фильтрация произойдет после нажатия на кнопку (так настроена компонента Набор фильтров).

+ +

В случае настройки компоненты Набор фильтров на режим "Фильтровать сразу", выборка строк произошла бы в тот же момент, как была поставлена отметка в компоненте Флаг.

рис.9 Нажимаем кнопку "Применить", чтобы система отфильтровала список задач и показала только те, в которых есть отметка руководителя о готовности задачи.
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_полю_адреса_ФИАС_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_полю_адреса_ФИАС_на_странице_.html new file mode 100644 index 0000000..8b65f8d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_полю_адреса_ФИАС_на_странице_.html @@ -0,0 +1,144 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Фильтр по полю адреса ФИАС на странице? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту “Фильтр по полю адреса ФИАС” на странице?

+

Постановказадачи: на пользовательской странице Реестр задач необходимо обеспечить возможность поиска задач в компоненте Таблица по указанному в поле Адрес исполнения задачи с использованием компоненты “Фильтр по полю адреса ФИАС”. Источником данных для компоненты “Фильтр по полю адреса ФИАС” должна служить федеральная информационная адресная система, а выбор адреса из справочника будет осуществляться путем постепенного набора первых букв строки адреса с последующим подбором и отображением сужающегося списка адресов, в которых содержится вводимый пользователем набор букв.

+

Страница “Реестр задач” должна иметь следующие настройки:

+
    + +
  • на web-странице должна быть размещена компонента Таблица, в графе сущности которой основной таблицей должна быть назначена “Список задач” (tasks). В ней имеется колонка с идентификатором адреса GUID, (fiasid).
  • +
  • на web-странице должна быть размещена компонента Набор фильтров, и настроена на компоненту Таблица
  • +
  • внутри компоненты Набор фильтров следует расположить компоненту Фильтр по полю адреса ФИАС для поиска по параметруАдрес
  • +
  • колонка базы данных для поиска по значениям из компоненты Фильтр по полю адреса ФИАС - tasks.fiasid
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр задач уже создана аналитиком и включена в логику бизнес-процесса. Для задействования компоненты Фильтр по полю ввода с подбором значениянеобходимо сделать следующее:

+
    + +
  • Добавить на страницу компоненту Таблица, настроить ее граф сущностей и колонки (рис.1)
  • +
+

+

рис.1 Расположение компоненты Таблица и настройка ее основных параметров

+
    + +
  • На одном уровне с компонентом Таблица добавить в состав страницы компоненту Набор фильтров. Связать Компоненту Набор фильтров с компонентой Таблица для указания источника данных фильтрации (рис.2)
  • +
+

+

рис.2 Расположение компоненты Набор фильтров и взаимосвязь с компонентой Таблица

+
    + +
  • Добавить компоненты “Кнопка для фильтрации” и “Кнопка очистки фильтра” внутрь компоненты “Набор фильтров” для возможности запуска процесса фильтрации по значению из компоненты “Постановщик задачи” (кнопки нужны потому,что в свойстве компоненты “Набор фильтров” отключен режим “Фильтровать сразу”)
    +
  • +
+

рис.3 Настройка кнопок фильтрации

+
    + +
  • Внутри компоненты Набор фильтров расположить компоненту Фильтр по полю адреса ФИАС (рис.4)
  • +
+

+

рис.4 Настройка графа сущности и основных параметров компоненты Фильтр по полю адреса ФИАС

+

“Настроить колонки фильтрации” означает, что после выбора пользователем значения в компоненте “Фильтр по полю адреса ФИАС” система должна найти это значениесреди строк в таблице tasks.fiasid (параметр “Фильтровать по …”)

+

На этом настройка страницы закончена, можно собрать приложение и проверить работу компоненты.

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображаются таблица и блок фильтрации с компонентой “Фильтр по полю ввода с подбором значения” (рис.5)

+ +
+ +

+
+ +

+

+

Форма открывается с пустыми полями

+

При вводе первых двух букв система не реагирует, ждет третью

+

После появления очередной буквы, позволяющей индивидуализировать подбираемое значение, показывается список адресов, удовлетворяющих заданному в настройках фильтру (Ленина) и набранной пользователем подстроке (Казань).

+

Из всего списка остались доступными 2 варианта адресов.

+

+

+

Нажимаем кнопку применить и список отфильтровывается только по тем задачам, которые назначены на выбранную улицу.

+

Пример работы компоненты для случая, когда в настройках компоненты “фильтр по умолчанию” не заполнен.

+

рис.5 Работа компоненты в запущенном приложении

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_полю_ввода_с_подбором_значения_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_полю_ввода_с_подбором_значения_на_странице_.html new file mode 100644 index 0000000..5dfe43c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Как_задействовать_компоненту_Фильтр_по_полю_ввода_с_подбором_значения_на_странице_.html @@ -0,0 +1,240 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Фильтр по полю ввода с подбором значения на странице? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту “Фильтр по полю ввода с подбором значения” на странице?

+

Постановказадачи: на пользовательской странице Реестр задач необходимо обеспечить возможность поиска задач в компоненте Таблица по указанным в поле Постановщик задачи несколькимзначениям c использованием компоненты “Фильтр по полю ввода с подбором значения”. Источником данных для компоненты “Фильтр по полю ввода с подбором значения” должен служить справочник сотрудников, а выбор сотрудников (одного или нескольких) из справочника будет осуществляться путем постепенного набора первых букв фамилии с последующим подбором и отображением сужающегося списка сотрудников, в чьих фамилиях содержится вводимый пользователем набор букв.

+

Страница “Реестр задач” должна иметь следующие настройки:

+
    + +
  • на web-странице должна быть размещенакомпонента Таблица, в графе сущности которой основной таблицейдолжна быть назначена “Список задач”(tasks).В нейимеется колонка с идентификатором сотрудника, являющегося постановщиком задачи (reporter_employee_id).
  • +
  • на web-странице должна быть размещенакомпонента Набор фильтров, и настроена на компоненту Таблица
  • +
  • внутри компонентыНабор фильтровследует расположить компоненту Фильтр по полю ввода с подбором значения для поиска по параметруПостановщик задачи
  • +
  • колонка базы данных для поиска по значениям из компоненты* Фильтр по полю ввода с подбором значения- tasks.reporter_employee_id*
  • +
+

Решение задачи:

+

Предполагается, что страница Реестр задач уже создана аналитиком и включена в логику бизнес-процесса. Для задействования компоненты Фильтр по полю ввода с подбором значения необходимо сделать следующее:

+
    + +
  • Добавить на страницу компоненту Таблица, настроить ее граф сущностей и колонки (рис.1)
  • +
+

+

рис.1 Расположение компоненты Таблица и настройка ее основных параметров

+
    + +
  • На одном уровне с компонентом Таблица добавить в состав страницы компоненту Набор фильтров. Связать Компоненту Набор фильтров с компонентой Таблица для указания источника данных фильтрации (рис.2)
  • +
+

+

рис.2 Расположение компоненты Набор фильтров и взаимосвязь с компонентой Таблица

+
    + +
  • Добавить компоненты “Кнопка для фильтрации” и “Кнопка очистки фильтра” внутрь компоненты “Набор фильтров” для возможности запуска процесса фильтрации по значению из компоненты “Постановщик задачи” (кнопки нужны потому,что в свойстве компоненты “Набор фильтров” отключен режим “Фильтровать сразу”)
    +
  • +
+

рис.3 Настройка кнопок фильтрации

+
    + +
  • Внутри компоненты Набор фильтров расположитькомпонентуФильтр по полю ввода с подбором значения (рис.4)
  • +
+

+

рис.4 Настройка графа сущности и основных параметров компонентыФильтр по полю ввода с подбором значения

+
    + +
  • Настроить колонки компоненты Фильтр по полю ввода с подбором значения (рис.5)
  • +
+

рис.5 Настройка колонок компоненты Фильтр по полю ввода с подбором значения

+
    + +
  • Настроить операцию фильтрации (рис.6)
  • +
+

+

рис.6 Настройка операции фильтрации

+
    + +
  • Настроить колонку фильтрации (рис.7)
  • +
+

+

рис.7 Настройка колонки фильтрации

+

Данная настройка означает, что после выбора пользователем одного или несколькихзначений в компоненте “Фильтр по полю ввода с подбором значения” система должна найти хотя бы одно (параметр "Правило обработки MultiValue значений выставлен в значение ‘ИЛИ’) из этих значений по идентификатору employee.employee_id среди строк в таблице tasks.reporter_employee_id (параметр “Фильтровать по …”)

+

На этом настройка страницы закончена, можно собрать приложение и проверить работу компоненты.

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображаются таблица и блок фильтрации с компонентой “Фильтр по полю ввода с подбором значения” (рис.8 - рис.13)

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+
+ +

+
+

рис.8 Открытие страницы.

+ +

В таблице указаны все задачи всех постановщиков.

+ +

После ввода первой буквы будущей строки с фамилией пока ничего не происходит.

+

рис. 9 Активизация компоненты после ввода второй буквы будущей строки с фамилией.

+ +

Компонента согласно своим настройкам начинает предлагать варианты, в которых содержится сочетание букв "ро" (как в начале, так и любом месте строки).

рис.10 После ввода дополнительных букв будущей строки фамилии компонента сужает список предлагаемых вариантов.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
+
+ +

+
+

рис.11 Выбор одного из вариантов и поиск следующего.

+ +

Клавишей ввод на клавиатуре подтверждаем первую фамилию из списка, предложенного компонентой.

+ +

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

+

рис.12 Выбор одновременно двух сотрудников осуществлен.

+ +

Нажимаем кнопку "Применить", чтобы система отфильтровала список задач, в которых постановщиками являются эти сотрудники

рис.13 Система отфильтровала список задач только по тем сотрудникам, которые были указаны в компоненте как постановщики задач
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_выпадающему_списку.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_выпадающему_списку.html new file mode 100644 index 0000000..6ee6027 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_выпадающему_списку.html @@ -0,0 +1,116 @@ + + + + + + + + Web-BPM Docs – Фильтр по выпадающему списку + + + + + + +
+
+ + + +
+
+

Фильтр по выпадающему списку

+

Назначение

+

Фильтр по выпадающему списку - это видоизмененная компонента выпадающий список, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по выпадающему списку находится в разделе Фильтры - Фильтр по выпадающему списку.

+

Свойства

+

Компонента имеет набор общих свойств, заполнить значением по умолчанию. Выпадающий список, Подгрузка данных, Фильтр по дате, Заполнить значением из переменной процесса. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения:Отчетный год
Зависит от позволяет указать объект (родителя), напримерВыпадающий список, по идентификатору которого будут отображаться сведения в текущем зависимом элементе
Initial value позволяет задать значение поля по умолчанию, которое будет отображаться на странице пример возможного значения: 2019
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Cохранить значение в переменную процесса любого типа

+

сохранить значение в переменную процесса любого типа

+

Заполнить значением из переменной любого типа

+

Заполнить значением из переменной любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли в Фильтре по выпадающему списку ввести значение в ручную? Нет.Фильтр по выпадающему списку не подразумевает под собой ввод значений вручную.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_дате.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_дате.html new file mode 100644 index 0000000..b30df8e --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_дате.html @@ -0,0 +1,140 @@ + + + + + + + + Web-BPM Docs – Фильтр по дате + + + + + + +
+
+ + + +
+
+

Фильтр по дате

+

Назначение

+

Фильтр по дате - это видоизмененная компонента Дата, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтровв запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по дате находится в разделе Фильтры - Фильтр по дате.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения:Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Год
Initial value позволяет задать значение поля по умолчанию, которое будет отображаться на странице пример возможного значения: 01.01.2017
Минимальная дата позволяет задать минимально возможное значение числа, меньше которого пользователь ввести не сможет пример возможного значения:01.01.2017
Максимальная дата позволяет задать максимально возможное значение числа, больше которого пользователь ввести не сможет пример возможного значения: 31.12.2017
формат позволяет задать формат для вывода даты со временем или только дату
В виде календаря позволяет задать возможность отображения в виде развернутого календаря
+

Свойство Фильтра по дате: Задать операцию фильтрации

+

Операция - позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению

+

пример возможного значения: Равно

+

+

Свойство Фильтра по дате: Настроить колонки фильтрации

+

+

Фильтровать по - позволяет указать таблицу и колонку базы данных, к которой будет применяться фильтрация.

+

Выбор таблицы и колонки базы данных в данном свойстве будет доступен только после заполнения свойства “Применить к…” у Набора фильтрации

+

пример возможного значения:

+

Свойство Фильтра по дате: Заполнить значением из переменной

+

позволяет указать переменную процесса, значение которой будет передаваться в поле и отображаться по умолчанию

+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функции (функции выполняются удаленно на сервере приложений, функции выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Cохранить значение в переменную процесса

+

сохранить значение в переменную процесса любого типа

+

Заполнить значением из переменной

+

Заполнить значением из переменной любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли вносить данные в поле вручную? Да, можно. При условии, что введенные значения соответствуют маске ввода.
Что будет если ввести буквенные значения в фильтр по дате? В поле Фильтр по дате можно ввести буквенные значения, но при переходе в другое поле, введенный текст очистится.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_компоненте_Флаг.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_компоненте_Флаг.html new file mode 100644 index 0000000..26b5678 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_компоненте_Флаг.html @@ -0,0 +1,115 @@ + + + + + + + + Web-BPM Docs – Фильтр по компоненте Флаг + + + + + + +
+
+ + + +
+
+

Фильтр по компоненте Флаг

+

Назначение

+

Фильтр по компоненте Флаг - это видоизмененная компонента Флаг, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по компоненте Флаг находится в разделе Фильтры - Фильтр по компоненте Флаг

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения:Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Год
Initial value позволяет задать значение, которое примет компонента при открытии web-страницы, значение типа Boolean (TRUE, FALSE, UNDEFINED) TRUE, FALSE, UNDEFINED(по умолчанию)
+

Свойство Фильтра: Задать операцию фильтрации

+

позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению

+

Свойство Фильтра: Настроить колонки фильтрации

+

позволяет указать таблицу и колонку базы данных, к которой будет применяться фильтрация

+

Выбор таблицы и колонки базы данных в данном свойстве будет доступен только после заполнения свойства “Применить к…” у Набора фильтрации

+

позволяет указать правило работы фильтрации в режиме MultiValue, когда пользователем выбраны несколько значений в компоненту.

+

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

+

Свойство компоненты: Поле ввода с подбором значения.

+

Заполнить значением из переменной любого типа

+

позволяет указать переменную процесса, значение которой будет передаваться в поле и отображаться по умолчанию

+

Свойство компоненты: Поле ввода с подбором значения. Заполнить значением по умолчанию

+

сохранить значение в переменную процесса любого типа

+

заполнить значением из переменной любого типа

+

склеить несколько значений

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
C какими типами данных применяется компонента Фильтр по комопненте Флаг? Поскольку возможными значениями компоненты Фильтр по компоненте Флаг (как и самой компоненты Флаг) являются логические значения, то обе компоненты работают с типом данных Boolean.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_адреса_ФИАС.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_адреса_ФИАС.html new file mode 100644 index 0000000..69e2c47 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_адреса_ФИАС.html @@ -0,0 +1,173 @@ + + + + + + + + Web-BPM Docs – Фильтр по полю адреса ФИАС + + + + + + +
+
+ + + +
+
+

Фильтр по полю адреса ФИАС

+

Назначение

+

Фильтр по полю адреса ФИАС - это видоизмененная компонента поле адреса ФИАС, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по полю адреса ФИАС находится в разделе Фильтры - Фильтр по полю адреса ФИАС.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Выберите район
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Район
Минимальное количество символов позволяет задать количество символов, после ввода которых пользователем, компонента начинает подбор и вывод вариантов, соответствующих уже введенной пользователем подстроке
Исторический адрес Если отметка поставлена, то компоненте предписывается осуществлять поиск не только по актуальным вариантам адресов, но и по историческим версиям этих адресов. Если отметка снята, то компоненте предписывается осуществлять поиск только по актуальным вариантам адресов, игнорируя исторические версии этих адресов. Информация о том, какой версией является то или иное наименование адреса (актуальной или исторической) компонента берет из федеральной информационной адресной системы в режиме чтения как исходное данное, и не осуществляет присвоение или снятие этого признака своей активностью. +
    +
  • подбор только среди актуальных версий адресов - значение по умолчанию
  • +
  • подбор среди актуальных и исторических версий адресов
Фильтр по умолчанию Предписывает компоненте при отображении вариантов отфильтровать адреса по указанной в этом параметре подстроке. Используется как дополнительный предустановленный фильтр к подстроке, вводимой пользователем.
Количество строк Указывает компоненте максимально допустимое количество вариантов для отображения в выпадающем списке при подборе пользователем интересующего значения.
Минимальный уровень адреса Ограничивает область поиска адреса по вводимой пользователем подстроке “сверху” - то есть указанным элементом адреса и его нижележащими в иерархии дочерними элементами. При указании “Минимального уровня поиска адреса” в значение “Субъект РФ” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Субъектам РФ и по всем Районам субъекта, и по всем Городам, и по всем Районам города, и по всем Населенным пунктам, и по всем Улицам. Данную настройку могут ограничивать параметры: +
    +
  • “Фильтр по умолчанию” - тогда поиск уже не по всем регионам (и прочим элементам), а только по тем, которые содержат подстроку из фильтра
  • +
  • “Максимальный уровень адреса” - тогда поиск будет опускаться по иерархии только до того уровня детализации, который указан в параметре “Максимальный уровень адреса”
Максимального уровня поиска адреса Ограничивает область поиска адреса по вводимой пользователем подстроке “снизу” - то есть указанным элементом адреса и его вышележащими в иерархии родительскими элементами. При указании “Максимального уровня поиска адреса” в значение “Улица” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ. Данную настройку могут ограничивать параметры: +
    +
  • “Фильтр по умолчанию”* - тогда поиск уже не по всем улицам (и прочим родительским элементам), а только по тем, которые содержат подстроку из фильтра
  • +
  • “Минимальный уровень адреса” - тогда поиск будет подниматься по иерархии только до того уровня детализации, который указан в параметре*“Минимальный уровень адреса”
Показывать краткий вид типа указывает компоненте на стиль отображения строки адреса - наименование адресных элементов (таких как город, улица, район и т.п.) отображать в принятых сокращениях (г., ул.,р-н) или полностью. +
    +
  • отображать полные наименования адресных элементов - значение по умолчанию
  • +
  • отображать сокращения адресных элементов
Операция позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению
Фильтровать по … позволяет указать таблицу и колонку базы данных, к которой будет применяться фильтрация Выбор таблицы и колонки базы данных в данном свойстве будет доступен только после заполнения свойства “Применить к…” у Набора фильтров
Правило обработки MultiValue позволяет указать правило работы фильтрации в режиме MultiValue, когда пользователем выбраны несколько значений в компоненту. Данная настройка определяет оператор соединения для выбранных пользователем значений Значение по умолчанию - “или”. Данная настройка имеет значение только для компонентов, поддерживающих множественный ввод (возможность указания нескольких значений в строке поиска). Компонента Фильтр по полю адреса не поддерживает множественный ввод, поэтому выбор текущего параметра не повлияет на результаты.
+

Свойство компоненты: Поле адреса ФИАС. Настройка

+

Подгрузка данных

+

Источник подгрузки значений адресов конфигурируется в файле standalone.xml проекта в секции datasource jndi-name=“java:jboss/datasources/fias-ds” pool-name=“FIASDS” enabled=“true” use-java-context=“true”.

+

Настройка секции на источник данных происходит при инициации проекта техническим специалистом и используется аналитиком “как есть”. В составе компоненты настройка параметров подключения и подгрузки данных не осуществляется.

+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений,- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса любого типа

+

сохранить значение в переменную процесса любого типа

+

Заполнить значением из переменной любого типа

+

заполнить значением из переменной любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Сконвертировать значение в целочисленный тип

+

Сконвертировать значение в целочисленный тип

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + +
Вопрос Ответ
Значение какого типа возвращает компонента? В общем случае компонента возвращает значение тестового типа в виде длинного идентификатора (для поиска записи в базе данных). Для использования значения выбранного адреса на экранной форме посредством компоненты Обработка событий, аналитику доступны несколько методов, которые возвращают разные значения.
+

В условиях сравнения компоненты Обработка событий могут использоваться методы:

+

Метод “Получить значение” возвращает идентификатор (так называемый GUID) выбранного адреса в строковом виде, например: {“version”:“1.0”,“aoid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”,“aoid_p1”:“c6d874d0-a7e8-46a1-b345-e2e1e9758c59”,“aoid_p2”:“625866a1-1278-4883-8dc5-ba34e0c463c4”,“aoid_p3”:“fc50add0-c3c7-4f07-99cd-8831166e6619”,“aoid_p4”:null,“aoid_p5”:null,“guid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”}

+

Метод “Получить значение как текст” возвращает строку адреса в человекочитаемом виде в строковом виде, например “Респ Дагестан, р-н Буйнакский, с Верхнее Казанище, ул Ленина”

+

В секции Тогдакомпоненты Обработка событий могут использоваться методы:

+

Метод"ФИАС.Задать значение" выставляет в компоненте адрес по идентификатору GUID ({“version”:“1.0”,“aoid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”,“aoid_p1”:“c6d874d0-a7e8-46a1-b345-e2e1e9758c59”,“aoid_p2”:“625866a1-1278-4883-8dc5-ba34e0c463c4”,“aoid_p3”:“fc50add0-c3c7-4f07-99cd-8831166e6619”,“aoid_p4”:null,“aoid_p5”:null,“guid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”}). Используется для полей - приемника информации об адресе (как показано на скриншоте).

+

Метод “ФИАС.Получить значение” возвращает значение - идентификатор GUID, как из источника данных об адресе для последующей вставки в другое поле ФИАС.

+

Метод "ФИАС.Получить значение"возвращает строку адреса в человекочитаемом виде в строковом виде,как из источника данных об адресе для последующей вставки в другое читаемое тестовое поле (например, Компонент Текстовое поле).

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_ввода_с_подбором_значения.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_ввода_с_подбором_значения.html new file mode 100644 index 0000000..0f76d07 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_ввода_с_подбором_значения.html @@ -0,0 +1,241 @@ + + + + + + + + Web-BPM Docs – Фильтр по полю ввода с подбором значения + + + + + + +
+
+ + + +
+
+

Фильтр по полю ввода с подбором значения

+

Назначение

+

Фильтр по полю ввода с подбором значения - это видоизмененная компонента Поле ввода с подбором значения, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по полю ввода с подбором значения находится в разделе Фильтры - Фильтр по полю ввода с подбором значения.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Выберите район
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Район
Зависит от позволяет указать объект (родителя), например Выпадающий список, по идентификатору которого будут отображаться сведения в текущем зависимом элементе
Начать подбор вариантов позволяет задать количество символов, после ввода которых пользователем, компонента начинает подбор и вывод вариантов, соответствующих уже введенной пользователем подстроке пример возможного значения: 3
Допустимое количество для MultiValue позволяет указать количество значений, которое может выбрать пользователь при работе с компонентой (включение режима MultiValue) пример возможного значения: 4
+

Свойство компоненты: Поле ввода с подбором значения. Подгрузка данных

+

Подгрузка данных - позволяет задать источник подгрузки/сохранения данных в компоненту из/в объекта базы данных (таблицы или представления) с указанием следующих дополнительных настроек:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Возвращать значение доп.колонки по умолчанию компонента возвращает идентификатор записи выбранной из справочника значений (primary_key) Настройка данного параметра позволяет указать компоненте, значение из какой дополнительной колонки необходимо дополнительно считать и вернуть при использовании метода “Получить значение BusinessId”
Связаны по… позволяет указать колонку текущей компоненты, по которой осуществляется связь с компонентой, указанной в свойстве “Зависит от”, обеспечивающую связь между родительской и текущей компонентами
Тип поиска позволяет задать один из вариантов поиска по вводимой пользователем подстроке С начала строки (значение отображается в списке, если с введенной пользователем подстроки начинается значение колонки из базы данных). Во всей строке (значение отображается в списке, если введенная пользователем подстрока содержится в значении колонки из базы данных с любого места вхождения)
Сортировать по позволяет задать элемент базы данных, по значению которого будет производиться сортировка
Тип колонки позволяет указать , каким образом будет отображаться выбранное пользователем значение в компоненте +
    +
  • Из одной колонки
  • +
  • Из нескольких колонок
  • +
  • Колонка с оформлением
Показывать пользователю позволяет задать колонку базы данных, значение которой будет отображено пользователю в режиме ""
Активировать фильтрацию по колонке позволяет указать колонку текущей компоненты, по которой можно с использованием метода “Задать фильтр” компоненты “Обработка события” дополнительно ограничить список доступных для выбора пользователем значений Выставленное в методе значение фильтра будет применено к указанной колонке
Граф сущностей Настройка Графа сущностей Является обязательным к заполнению и настройке
Показывать варианты по позволяет ограничить список отображаемых вариантов в процессе подбора по подстроке
+

Тип колонки - позволяет указать , каким образом будет отображаться выбранное пользователем значение в компоненте

+
    + +
  • Из одной колонки
  • +
  • Из нескольких колонок
  • +
  • Колонка с оформлением
  • +
+

Из нескольких колонок - позволяет указать, что видимое пользователю значение должно быть сформировано путем объединения значений из нескольких колонок источника данных компоненты. Для тонкой настройки параметров объединения значений разных колонок, аналитик может задать свойства:

+
    + +
  • префикс - символ или текст, который будет отображаться перед подгружаемым значением из колонки базы данных,например символ открывающейся скобки (;
  • +
  • постфикс- символ или текст, который будет отображаться после подгружаемого значения из колонки базы данных,например символ закрывающейся скобки );
  • +
  • разделитель- символ или пробел, который будет разделять между собой значения из разных колонок таблиц (ы), объединяемых в одно значение
  • +
+

Тип колонки - позволяет указать , каким образом будет отображаться выбранное пользователем значение в компоненте

+
    + +
  • Из одной колонки
  • +
  • Из нескольких колонок
  • +
  • Колонка с оформлением
  • +
+

Колонка с оформлением - позволяет задать шаблон отображения одной или нескольких колонок в html формате. Колонки в шаблоне задаются в виде @{сущность из графа.колонка} или @{сущность из графа.колонка | форматер}. Форматер принимает одно из двух значений “date” и “datetime”.

+

Свойство Фильтра : Задать операцию фильтрации

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Операция позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению
+

Свойство Фильтра: Настроить колонки фильтрации

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Фильтровать по позволяет указать таблицу и колонку базы данных, к которой будет применяться фильтрация Выбор таблицы и колонки базы данных в данном свойстве будет доступен только после заполнения свойства “Применить к…” у Набора фильтрации
Правило обработки MultiValue значений позволяет указать правило работы фильтрации в режиме MultiValue, когда пользователем выбраны несколько значений в компоненту. Данная настройка определяет оператор соединения для выбранных пользователем значений
+

Свойство компоненты: Поле ввода с подбором значения.

+

Заполнить значением из переменной любого типа

+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений. Функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса

+

Сохранить значение в переменную процесса

+

Заполнить значением из переменной

+

Заполнить значением из переменной

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Сконвертировать значение в целочисленный тип

+

Сконвертировать значение в целочисленный тип

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Фильтр по полю ввода с подбором значения от компоненты Фильтр по выпадающему списку? Фильтр по полю ввода с подбором значения отличается от компоненты Фильтр по выпадающему списку тем, что не показывает и не подгружает сразу все строки из справочника, но по мере ввода пользователем подстроки предлагает всё более усеченный список вариантов, выводя только релевантные уже введенной подстроке значения.
Значение какого типа возвращает компонента? В общем случае может быть любым (чаще всего целочисленным или строковым).Тип возвращаемого компонентойзначения определяется выбором аналитиком метода, который возвращает значение, а также типом колонки в базе данных.
+

Метод “Получить значение” возвращает первичный ключ и тип такого значения зависит от типа колонки первичного ключа в базе данных (обычно целочисленный bigint).

+

Метод “Получить значение по BussinessId” возвращает значение колонки, заданной в параметре компоненты "Дополнительно возвращать значение из " и определяется типом этой колонки в базе данных.

+

Дополнительная функция “Сконвертировать значение в целочисленный тип” как раз используется для явной конвертации возвращаемого компонентой неопределенного типа (ANY) в явно желаемый Integer (например, при присвоении идентификатора строки выбранного в компоненте значения какой-либо переменной целого типа на странице) .

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_многострочного_ввода.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_многострочного_ввода.html new file mode 100644 index 0000000..a01c310 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_полю_многострочного_ввода.html @@ -0,0 +1,193 @@ + + + + + + + + Web-BPM Docs – Фильтр по полю многострочного ввода + + + + + + +
+
+ + + +
+
+

Фильтр по полю многострочного ввода

+

Назначение

+

Фильтр по полю многострочного ввода - это видоизмененная компонента Многострочное поле, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по полю многострочного ввода находится в разделе Фильтры - Фильтр по полю многострочного ввода.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите название организации
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Наименование организации
Значение позволяет задать значение поля по умолчанию пример возможного значения: ООО “Форт”
Максимальная длина задаёт максимальное количество вводимых символов в поле пример возможного значения: 10
Маска ограничивающая ввод позволяет задать маску, в соответствии с которой пользователь будет осуществлять ввод текста выставление маски не может обеспечить выполнение требования обязательности ввода, маска только внешне отфильтровывает и форматирует последовательность вводимых пользователем символов заранее заданным образом (например, ввод тел. номера “+ 7 (917) - 101 - 02 - 03” вместо “8917010203” или не допустит такого ввода “89170102АЯ”). См. ниже
Оперировать немаскированными данными указывает системе порядок обработки символов маски при сохранении значения поля в базу данных +
    +
  • значение не определено - по умолчанию
  • +
  • сохранять без форматирования маской
  • +
  • сохранять с форматированием маской
Значение, отформатированное маской в поле ввода как “+7~(917)-922-33-44”, может быть сохранено в поле таблицы базы данных как “+7~(917)-922-33-44” (если флажок снят) или как “9179223344” (если флажок выставлен)
Регистр позволяет задать вид регистра вводимого текста +
    +
  • в верхнем регистре - заглавные (прописные) буквы
  • +
  • в нижнем регистре - строчные (маленькие) буквы
  • +
  • первая буква - заглавная
Тип позволяет задать тип вводимого текста +
    +
  • обычный текст
  • +
  • пароль (заполнитель - звездочки)
  • +
  • электронная почта
регулярное выражение позволяет задать проверку вводимого текста с помощью регулярных выражений См. ниже
Операция позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению
Фильтровать по … В данном свойстве выбирается таблица и колонка к которой будет применяться фильтрация. Выбор таблице в данном свойстве будет доступен после заполнения свойства “Применить к…” у Набор фильтрации
+

Примеры масок:

+
    + +
  • A (буква, латинская, регистр не имеет значения) в маске - позволит ввести в поле одну любую букву любого алфавита
  • +
  • Б (буква, русская, в верхнем регистре) в маске - позволит ввести в поле одну любую букву русского алфавита
  • +
  • 9 (цифра) в маске - позволит ввести в поле одну любую цифру
  • +
  • * (символ) в маске - позволит ввести в поле одну любую цифру или букву
  • +
  • R (буква, латинская, в верхнем регистре) в маске - позволит ввести в поле одну римскую цифру
  • +
  • ? (символ) в маске - позволит ввести или опустить при вводе в поле один необязательный символ (букву, цифру) ,например 999?9; под эту маску подходит как 123, так и 1234
  • +
+

Например, необходимо задать форматирование ввода маской для значения Й456QЬ. В данном случае маска будет выглядеть следующим образом: А999АА, где А - латинская буква.

+

Некоторые типовые регулярные выражения:

+
    + +
  • \d [0-9]- одна цифра от 0 до 9
  • +
  • \D [^0-9]- любой символ кроме цифры
  • +
  • \s- пробел
  • +
  • [A-Z]- только заглавная латинская буква
  • +
  • [A-Za-z]- только латинская буква в любом регистре
  • +
  • [А-Яа-яЁё]- только русская буква в любом регистре
  • +
  • [A-Za-zА-Яа-яЁё]- любая буква русского и латинского алфавита
  • +
  • [0-9]{3}- три цифры
  • +
  • [A-Za-z]{6,}- не менее шести латинских букв
  • +
  • [0-9]{,3}- не более трёх цифр
  • +
  • [0-9]{5,10}- от пяти до десяти цифр
  • +
  • ^[a-zA-Z]+$- любое слово на латинице
  • +
  • ^[А-Яа-яЁё\s]+$- любое слово на русском включая пробелы
  • +
  • ^[ 0-9]+$- любое число
  • +
+

Например, чтобы ограничить возможность ввода и сохранения текста латиницей, можно использовать регулярное выражение^[А-Яа-яЁё\s]+$

+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса

+

Сохранить значение в переменную процесса

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Склеить несколько значений

+

Склеить несколько значений

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли ввести число в Фильтр по полю многострочного ввода Да, можно.
Как можно ограничить количество ввода символов в поле? Для этого необходимо заполнить свойство "Максимальная длина
Как можно расширить поиск вфильтрациипо полю многострочного ввода из приложения Поиск можно расширить с помощью проставлениязнака "%"рядом с вводимым значением в поле фильтрации. Пример приведен в статье по фильтрации по текстовому полю
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_статичному_выпадающему_списку.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_статичному_выпадающему_списку.html new file mode 100644 index 0000000..2167911 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_статичному_выпадающему_списку.html @@ -0,0 +1,118 @@ + + + + + + + + Web-BPM Docs – Фильтр по статичному выпадающему списку + + + + + + +
+
+ + + +
+
+

Фильтр по статичному выпадающему списку

+

Назначение

+

Фильтр по статичному выпадающему списку - это видоизмененная компонента Статичный выпадающий список, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по статичному выпадающему списку находится в разделе Фильтры - Фильтр по статичному выпадающему списку.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Отчетный год
Значение по умолчанию (initial value) позволяет задать значение поля по умолчанию, которое будет отображаться на странице пример возможного значения: 2019
Список значений позволяет задать список значений, которые будут отображаться в выпадающем списке +
    +
  • надпись - позволяет задать наименование элемента в списке значений
  • +
  • значение - позволяет задать значение элемента, которое можно записать в базу данных
  • +
  • скрыть - позволяет регулировать видимость элемента в списке значений
надпись - “Отчетный год” значение-“2018”
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Склеить несколько значений

+

Склеить несколько значений

+

Сохранить значение в переменную процесса

+

Сохранить значение в переменную процесса

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной

+

Методические рекомендации по применению

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли в Фильтре по статичному выпадающему списку ввести значение в ручную? Нет. Фильтр по статичному выпадающему списку не подразумевает под собой ввод значений вручную.
Сколько значений для Фильтра по статичному выпадающему списку является оптимальным? К заданию значений в фильтре по статичному выпадающему списку, необходимо подходить внимательно, так как задание 2 вариантов, так и 20 вариантов для выбора будет не совсем корректным. Если значений менее 5, то советую использовать Фильтр по флагу, если же необходимо выбрать более 15 значений, то предлагаюлибо сократить их количество, либо предоставить пользователю текстовое поле для ввода своих данных.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_текстовому_полю.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_текстовому_полю.html new file mode 100644 index 0000000..9fd9d9a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_текстовому_полю.html @@ -0,0 +1,181 @@ + + + + + + + + Web-BPM Docs – Текстовое поле (фильтр) + + + + + + +
+
+ + + +
+
+

Текстовое поле (фильтр)

+

Назначение

+

Текстовое поле (фильтр) - это видоизмененная компонента Текст, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров, в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компонентыНабор фильтровв запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонентаКнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Текстовое поле (фильтр) находится в разделе Фильтры - Текстовое поле (фильтр).

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите название организации
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Наименование организации
Значение позволяет задать значение поля по умолчанию пример возможного значения: ООО “Форт”
Максимальная длина задаёт максимальное количество вводимых символов в поле пример возможного значения: 10
Оперировать немаскированными указывает системе порядок обработки символов маски при сохранении значения поля в базу данных +
    +
  • значение не определено- по умолчанию
  • +
  • сохранять без форматирования маской
  • +
  • сохранять с форматированием маской
Значение, отформатированное маской в поле ввода как “+7~(917)-922-33-44”, может быть сохранено в поле таблицы базы данных как “+7~(917)-922-33-44” (если флажок снят) или как “9179223344” (если флажок выставлен)
Маска, ограничивающая ввод позволяет задать маску, в соответствии с которой пользователь будет осуществлять ввод текста выставление маски не может обеспечить выполнение требования обязательности ввода, маска только внешне отфильтровывает и форматирует последовательность вводимых пользователем символов заранее заданным образом (например, ввод тел. номера “+ 7 (917) - 101 - 02 - 03” вместо “8917010203” или не допустит такого ввода “89170102АЯ”). Примеры масок: +
    +
  • A (буква, латинская, регистр не имеет значения) в маске - позволит ввести в поле одну любую букву любого алфавита
  • +
  • Б (буква, русская, в верхнем регистре) в маске - позволит ввести в поле одну любую букву русского алфавита
  • +
  • 9 (цифра) в маске - позволит ввести в поле одну любую цифру
  • +
  • * (символ) в маске - позволит ввести в поле одну любую цифру или букву
  • +
  • R (буква, латинская, в верхнем регистре) в маске - позволит ввести в поле одну римскую цифру
  • +
  • [ ] (внутри квадратных скобок) в маске - позволит ввести или опустить при вводе в поле один или несколько необязательных символов (букву, цифру), например 999[9]; под эту маску подходит как 123, так и 1234 Например, необходимо задать форматирование ввода маской для значения Й456QЬ. В данном случае маска может выглядеть следующим образом: Б999АА, где А - латинская буква.
Регистр позволяет задать вид регистра вводимого текста: В верхнем регистре - заглавные (прописные) буквы. В нижнем регистре - строчные (маленькие) буквы. Первая буква - заглавная
тип позволяет задать тип вводимого текста обычный текст. Пароль (заполнитель - звездочки). Электронная почта
Регулярное выражение или Pattern позволяет задать проверку вводимого текста с помощью регулярных выражений поля, для которых не выполняются условия заданных регулярных выражений, при сохранении записи подсвечиваются красным оттенком и операция отменяется. Некоторые типовые регулярные выражения: +
    +
  • \d [0-9] - одна цифра от 0 до 9
  • +
  • \D [^0-9] - любой символ кроме цифры
  • +
  • \s - пробел
  • +
  • [A-Z] - только заглавная латинская буква
  • +
  • [A-Za-z] - только латинская буква в любом регистре
  • +
  • [А-Яа-яЁё] - только русская буква в любом регистре
  • +
  • [A-Za-zА-Яа-яЁё] - любая буква русского и латинского алфавита
  • +
  • [0-9]{3} - три цифры
+
    +
  • [A-Za-z]{6,}- не менее шести латинских букв
  • +
  • [0-9]{,3} - не более трёх цифр
  • +
  • [0-9]{5,10} - от пяти до десяти цифр
  • +
  • ^[a-zA-Z]+$ - любое слово на латинице
  • +
  • ^[А-Яа-яЁё\s]+$ - любое слово на русском включая пробелы
  • +
  • ^[ 0-9]+$ - любое число
чтобы ограничить возможность ввода и сохранения текста латиницей, можно использовать регулярное выражение ^[А-Яа-яЁё\s]+$
Операция позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению
Фильтровать по… позволяет указать таблицу и колонку базы данных, к которой будет применяться фильтрация выбор таблицы и колонки базы данных в данном свойстве будет доступен только после заполнения свойства “Применить к…” у Набора фильтрации
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Cохранить значение в переменную процесса

+

сохранить значение в переменную процесса

+

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

+

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

+

Заполнить значением из переменной любого типа

+

Заполнить значением из переменной любого типа

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Склеить несколько значений

+

Склеить несколько значений

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+
+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
В каких случаях необходимо использовать Фильтр по текстовому полю, а в каких случаях Фильтр по числовому полю? В зависимости от типа значений, по которым происходит фильтрация определяется соответствующий тип Фильтра: если значения в колонке таблицы имеют строковый тип данных, то используется Фильтр по текстовому полю, если числовой - Фильтр по числовому полю.
Можно ли ввести число в Текстовое поле (фильтр)? Да, можно.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_числовому_полю.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_числовому_полю.html new file mode 100644 index 0000000..a39ed67 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтр_по_числовому_полю.html @@ -0,0 +1,132 @@ + + + + + + + + Web-BPM Docs – Фильтр по числовому полю + + + + + + +
+
+ + + +
+
+

Фильтр по числовому полю

+

Назначение

+

Фильтр по числовому полю - это видоизмененная компонента Числовое поле, дополненная функцией поиска в связанной с ней компоненте Таблица по введенному пользователем значению. Иерархически обязательно должна быть расположена внутри компоненты Набор фильтров,в качестве параметра содержит указание на колонку таблицы, по которой осуществляется поиск. В зависимости от настроек родительской компоненты Набор фильтров в запущенном приложении выполняет поиск либо только после нажатия соответствующей кнопки (компонента Кнопка для фильтрации), либо по мере ввода пользователем искомого значения (так называемый, “живой поиск”).

+

Компонента Фильтр по числовому полю находится в разделе Фильтры - Фильтр по числовому полю.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Год
Значение по умолчанию позволяет задать значение поля по умолчанию, которое будет отображаться на странице пример возможного значения: 100
Минимальное возможное значение позволяет задать минимально возможное значение числа, меньше которого пользователь ввести не сможет пример возможного значения: 0
Максимальное возможное значение позволяет задать максимально возможное значение числа, больше которого пользователь ввести не сможет пример возможного значения: 2999
Шаг увеличения значения позволяет задать шаг увеличения значения числа пример возможного значения: 1
Задать операцию фильтрации позволяет задать условие, по которому будет осуществляться фильтрация данных по введенному пользователем значению
Настроить колонки фильтрации позволяет указать таблицу и колонку базы данных, к которой будет применяться фильтрация Выбор таблицы и колонки базы данных в данном свойстве будет доступен только после заполнения свойства “Применить к…” у Набора фильтрации
+

Сохранить значение в переменную процесса

+

Сохранить значение в переменную процесса

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Включить вычисление математических операций

+

Включить вычисление математических операций

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли ввести текст в поле “Фильтр по числовому полю” Нет, нельзя.
В каких случаях необходимо использовать “Фильтр по числовому полю”? Фильтр по числовому полю используется в тех случаях, когда фильтруемые данные имеют числовой тип. При использовании данного фильтра у пользователя появится удобный ввод значения в поле Фильтр по числовому полю с помощью кнопок ,а не клавиатуры.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтры.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтры.html new file mode 100644 index 0000000..8c57944 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/filters/Фильтры.html @@ -0,0 +1,63 @@ + + + + + + + + Web-BPM Docs – Фильтры + + + + + + + +
+
+
+
+

© 2022 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/index.html new file mode 100644 index 0000000..7e177a5 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/index.html @@ -0,0 +1,79 @@ + + + + + + + + Web-BPM Docs – Поля ввода/вывода + + + + + + + +
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Адрес.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Адрес.html new file mode 100644 index 0000000..8473db3 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Адрес.html @@ -0,0 +1,290 @@ + + + + + + + + Web-BPM Docs – Адрес + + + + + + +
+
+ + + +
+
+

Адрес

+

Назначение

+

Адрес - это компонента, которая визуально выглядит как Поле ввода с подбором значения (Поиск), но по мере набора пользователем символов с клавиатуры подбирает, отображая возможные варианты значений адресов из федеральной адресной информационной системы, при этом функционируя уже как компонента Выпадающий список.

+

Варианты адресов и выбранный адрес отображаются как строка переменной длины, включающаяв себя наименование адресного параметра и его значение. Подбор вариантов адресов осуществляется по принципу вхождения набранного пользователем значения в результирующую строку полного адреса. Удобнее всего осуществлять подбор наименования с самого детального из доступных элементов адреса - улицы. Широта охвата компонентой адресных параметров представлена набором элементов, начиная от адресного элемента Субъект Российской Федерации и заканчивая адресным элементом Улица(для ФИАС)/Квартира(для ГАР). Для ФИАС адресные элементы, детализирующие местоположение точнее улицы (например, дом, корпус, помещение и т.п.) должны вводиться отдельными компонентами (например, Текстовое поле) со ссылками на предназначенные только для них колонки пользовательской базы данных.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Адрес может использоваться для:

+
    + +
  1. Для отображения/сохранения выбранного в компоненте значения из/в базу данных(в данном случае, функция компоненты Адрес. Сохранение значения должна быть включена)
  2. +
  3. Для использования без функциональности отображения/сохранения выбранного в компоненте значения из/в базу данных(в данном случае, функция компоненты Выпадающий список. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Адрес находится в разделе Компоненты - Поля - Адрес.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Вводите адрес в следующем порядке: населенный пункт -> город
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Адрес
Минимальное кол-во символов позволяет задать количество символов, после ввода которых пользователем, компонента начинает подбор и вывод вариантов, соответствующих уже введенной пользователем подстроке пример возможного значения: 3
Если отметка поставлена, то компоненте предписывается осуществлять поиск не только по актуальным вариантам адресов, но и по историческим версиям этих адресов. Если отметка снята, то компоненте предписывается осуществлять поиск только по актуальным вариантам адресов, игнорируя исторические версии этих адресов. Информация о том, какой версией является то или иное наименование адреса (актуальной или исторической) компонента берет из федеральной информационной адресной системы в режиме чтения как исходное данное, и не осуществляет присвоение или снятие этого признака своей активностью. +
    +
  • НЕ активно - подбор только среди актуальных версий адресов- значение по умолчанию
  • +
  • подбор среди актуальных и исторических версий адресов
Текст сообщения для строки результата поиска позволяет задать текст для сообщения (предупреждения), которое будет отображаться в случае, если по результатам поиска было найдено число совпадений, превышающее значение лимита по количеству возвращаемых строк в компоненте (настраивается в функции “ФИАС. Настройка - Количество строк”) пример возможного значения:Найдено более {limit} значений, уточните поиск - значение по умолчанию, где {limit} это указание значения параметра “Количество строк”
Прикрепить значение (Scroll Gravity) позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений +
    +
  • По умолчанию (DEFAULT) - выбранное значение отображается в порядке своего следования в списке доступных значений для выбора
  • +
  • По центру (CENTER) - выбранное значение отображается по центру в выпадающем списке доступных значений для выбора
  • +
  • В верхней части (TOP)- выбранное значение отображается в верхней части выпадающего списка доступных значений для выбора
  • +
  • В нижней части (BOTTOM) - выбранное значение отображается в нижней части выпадающего списка доступных значений для выбора
Не действительно при не активном адресе (Invalid if address is not active) позволяет визуально помечать поле как невалидное на странице, в случае если в него было подгружено неактуальное значение адреса
Css class if not satisfy данное свойство доступно для управления при активном значении свойства Invalid If Address Is Not Actual и позволяет задать CSS-класс, который будет применяться к полю ФИАС, в случае если в него было подгружено неактуальное значение адреса
Тип иерархии адреса (Hierarchy Type) позволяет задавать иерархию адреса. Для данного свойства есть два метода getHierarchyType возвращает текущую иерархию и метод setHierarchyType позволяет менять текущую иерархию. ADMINISTRATIVE - административная, MUNICIPAL - муниципальная
+

Свойство ФИАС. Настройка

+

Подгрузка данных

+

Источник подгрузки значений адресов конфигурируется в файле standalone.xml проекта в секции datasource jndi-name=“java:jboss/datasources/fias-ds” pool-name=“FIASDS” enabled=“true” use-java-context=“true”.

+

Настройка секции на источник данных происходит при инициации проекта техническим специалистом и используется аналитиком “как есть”. В составе компоненты настройка параметров подключения и подгрузки данных не осуществляется.

+

+

+

Предписывает компоненте при отображении вариантов отфильтровать адреса по указанной в этом параметре подстроке.

+

Используется как дополнительный предустановленный фильтр к подстроке, вводимой пользователем.

+

Пример возможной настройки:

+

В свойстве “Фильтр по умолчанию” зададим значение, например, Ленина (рис.1)

+

+

рис.1 Настройка свойства Фильтр по умолчанию

+

При отображении результатов поиска по значению, например, Казань, среди вариантов удовлетворяющих этому значению, для выбора будут доступны только те значения, которые содержат в себе слово “Ленина” (рис.2)

+

+

рис.2 Результаты поиска с установленным фильтром

+

Без установленного фильтра результаты аналогичного поиска выглядели бы следующим образом (рис.3):

+

+

рис.3 Результаты поиска без установленного фильтра

+

+

позволяет указать компоненте максимально допустимое количество вариантов для отображения в выпадающем списке при подборе пользователем интересующего значения

+

В случае, если по результатам поиска было найдено число совпадений, превышающее значение данного ограничения, пользователю будет отображаться сообщение (предупреждение) заданной в свойствеMessage Text For Result Set

+

+

+

позволяет задать минимальный уровень адреса, который ограничит область поиска адреса по вводимой пользователем подстроке “сверху” - то есть указанным элементом адреса и его нижележащими в иерархии дочерними элементами.

+

Доступные следующие варианты уровней:

+
    + +
  • Субъект РФ
  • +
  • Район субъекта
  • +
  • Город
  • +
  • Район
  • +
  • Населенный пункт
  • +
  • Улица
  • +
  • Дом
  • +
+

При указании “Минимального уровня поиска адреса” в значение “Субъект РФ” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Субъектам РФ и по всем Районам субъекта, и по всем Городам, и по всем Районам города, и по всем Населенным пунктам, и по всем Улицам.

+

Данную настройку могут ограничивать параметры:

+

“Фильтр по умолчанию” - тогда поиск уже не по всем регионам (и прочим элементам), а только по тем, которые содержат подстроку из фильтра

+

“Максимальный уровень адреса” - тогда поиск будет опускаться по иерархии только до того уровня детализации, который указан в параметре*“Максимальный уровень адреса”

+

+

+

позволяет задать максимальный уровень адреса, который ограничивает область поиска адреса по вводимой пользователем подстроке “снизу” - то есть указанным элементом адреса и его вышележащими в иерархии родительскими элементами.

+

Максимальный уровень должен быть больше минимального.

+

Доступные следующие варианты уровней:

+
    + +
  • Субъект РФ
  • +
  • Район субъекта
  • +
  • Город
  • +
  • Район
  • +
  • Населенный пункт
  • +
  • Улица
  • +
  • Дом - в данном случае значения результата поиска будут отображаться с домами
  • +
+

При указании “Максимального уровня поиска адреса” в значение “Улица” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ.

+

Данную настройку могут ограничивать параметры:

+

“Фильтр по умолчанию” - тогда поиск уже не по всем улицам (и прочим родительским элементам), а только по тем, которые содержат подстроку из фильтра

+

“Минимальный уровень адреса” - тогда поиск будет подниматься по иерархии только до того уровня детализации, который указан в параметре*“Минимальный уровень адреса”

+

+

+

указывает компоненте на стиль отображения строки адреса - наименование адресных элементов (таких как город, улица, район и т.п.) отображать в принятых сокращениях (г., ул.,р-н) или полностью.

+
    + +
  • + +

    отображать полные наименования адресных элементов (рис.2)- значение по умолчанию

    +
  • +
  • + +

    отображать сокращения адресных элементов (рис.1)

    +
  • +
+

+

рис.1 Отображение с сокращениями адресных элементов

+

+

рис.2 Отображение без сокращения адресных элементов

+

Свойство ФИАС. Сохранение значения

+

+

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

+

+

Свойство ГАР. Настройка

+

Параметры: * gar.enable - параметр отвечающий за необходимость подключения gar-client. По дефолту true, для отключения задать false. * gar.elastic.url.host - хост на котором развернут elasticsearch. * gar.elastic.password - пароль для аутентификации elasticsearch.

+

Дополнительные парметры: * gar.elastic.url.port - порт на котором развернут elasticsearch. По дефолту 9200 * gar.elastic.username - логин для аутентификации elasticsearch. По дефолту elastic

+

позволяет указать компоненте максимально допустимое количество вариантов для отображения в выпадающем списке при подборе пользователем интересующего значения

+

В случае, если по результатам поиска было найдено число совпадений, превышающее значение данного ограничения, пользователю будет отображаться сообщение (предупреждение) заданной в свойствеMessage Text For Result Set img.png

+

img.png

+

позволяет задать минимальный уровень адреса, который ограничит область поиска адреса по вводимой пользователем подстроке “сверху” - то есть указанным элементом адреса и его нижележащими в иерархии дочерними элементами.

+

Доступные следующие варианты уровней:

+
    + +
  • REGION(Субъект РФ)
  • +
  • DISTRICT(Административный/Муниципальный Район)
  • +
  • SETTLEMENT(Сельское/городское поселение)
  • +
  • CITY(Город)
  • +
  • TOWN(Населенный пункт)
  • +
  • PLANNING_STRUCTURE(Элемент планировочной структуры)
  • +
  • STREET(Элемент улично-дорожной сети)
  • +
  • HOUSE(Дом)
  • +
  • APARTMENT(Квартира)
  • +
+

При указании “Минимального уровня поиска адреса” в значение “Субъект РФ” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Субъектам РФ и по всем Районам субъекта, и по всем Городам, и по всем Районам города, и по всем Населенным пунктам, и по всем Улицам.

+

Данную настройку могут ограничивать параметры:

+

“Фильтр по умолчанию” - тогда поиск уже не по всем регионам (и прочим элементам), а только по тем, которые содержат подстроку из фильтра

+

“Максимальный уровень адреса” - тогда поиск будет опускаться по иерархии только до того уровня детализации, который указан в параметре*“Максимальный уровень адреса”

+

img_1.png

+

позволяет задать максимальный уровень адреса, который ограничивает область поиска адреса по вводимой пользователем подстроке “снизу” - то есть указанным элементом адреса и его вышележащими в иерархии родительскими элементами.

+

Максимальный уровень должен быть больше минимального.

+

Доступные следующие варианты уровней: - REGION(Субъект РФ) - DISTRICT(Административный/Муниципальный Район) - SETTLEMENT(Сельское/городское поселение) - CITY(Город) - TOWN(Населенный пункт) - PLANNING_STRUCTURE(Элемент планировочной структуры) - STREET(Элемент улично-дорожной сети) - HOUSE(Дом) - APARTMENT(Квартира)

+

При указании “Максимального уровня поиска адреса” в значение “STREET” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ. При указании “Максимального уровня поиска адреса” в значение “HOUSE” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Домам и Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ. При указании “Максимального уровня поиска адреса” в значение “APARTMENT” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Квартирам, Домам и Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ.

+

Данную настройку могут ограничивать параметры:

+

“Фильтр по умолчанию” - тогда поиск уже не по всем улицам (и прочим родительским элементам), а только по тем, которые содержат подстроку из фильтра

+

“Минимальный уровень адреса” - тогда поиск будет подниматься по иерархии только до того уровня детализации, который указан в параметре*“Минимальный уровень адреса”

+

img_2.png

+

указывает компоненте на стиль отображения строки адреса - наименование адресных элементов (таких как город, улица, район и т.п.) отображать в принятых сокращениях (г., ул.,р-н) или полностью.

+
    + +
  • + +

    false -> отображать полные наименования адресных элементов - значение по умолчанию

    +
  • +
  • + +

    true -> отображать сокращения адресных элементов

    +
  • +
+

Свойство ГАР. Сохранение значения

+

+

В случае, если значение в поле ГАР необходимо сохранить или подгрузить из базы данных, указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение. Для выбора доступны только колонки имеющий строковый тип в базе данных. В случае, если значение поля ФИАС не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется дляотображения значения, которое является константой, определённой в логике приложения.

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

заполнить значением из переменной любого типа

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса любого типа

+

сохранить значение в переменную процесса любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Значение какого типа возвращает компонента? Для ФИАС: В общем случае компонента возвращает значение тестового типа в виде длинного идентификатора (для записи в базу данных). Для использования значения выбранного адреса на экранной форме посредством компоненты Обработка событий, аналитику доступны несколько методов, которые возвращают разные значения. В условиях сравнения компоненты Обработка событий могут использоваться методы: Метод “Получить значение” возвращает идентификатор (так называемый GUID) выбранного адреса в строковом виде, например: {“version”:“1.0”,“aoid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”,“aoid_p1”:“c6d874d0-a7e8-46a1-b345-e2e1e9758c59”,“aoid_p2”:“625866a1-1278-4883-8dc5-ba34e0c463c4”,“aoid_p3”:“fc50add0-c3c7-4f07-99cd-8831166e6619”,“aoid_p4”:null,“aoid_p5”:null,“guid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”} Метод “Получить значение как текст” возвращает строку адреса в человекочитаемом виде в строковом виде, например “Респ Дагестан, р-н Буйнакский, с Верхнее Казанище, ул Ленина”. В секции Тогда компоненты Обработка событий могут использоваться методы: Метод"ФИАС.Задать значение" выставляет в компоненте адрес по идентификатору GUID ({“version”:“1.0”,“aoid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”,“aoid_p1”:“c6d874d0-a7e8-46a1-b345-e2e1e9758c59”,“aoid_p2”:“625866a1-1278-4883-8dc5-ba34e0c463c4”,“aoid_p3”:“fc50add0-c3c7-4f07-99cd-8831166e6619”,“aoid_p4”:null,“aoid_p5”:null,“guid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”}). Используется для полей - приемника информации об адресе (как показано на скриншоте). Метод “ФИАС. Получить значение” возвращает значение - идентификатор GUID, как из источника данных об адресе для последующей вставки в другое поле ФИАС. Метод “ФИАС. Получить значение"возвращает строку адреса в человекочитаемом виде в строковом виде,как из источника данных об адресе для последующей вставки в другое читаемое тестовое поле (например, Компонент Текстовое поле). Для ГАР: {“hierarchyId”:”{"indexId":"1415865","hierarchy":"MUNICIPAL","indexStructureType":"ADDRESS_OBJECT","withHouse":false}",“address”:“Автодорога Ад Москва-Уфа-Челябинск 1016 км 435 м”,“level”:6,“date”:“20000808”,“actual”:false,“okato”:“36228824000”,“oktmo”:“36628424”,“aoGUID=‘97e5e5dc-f63a-4c5f-bdbf-61d608e27895’”,“addressLevels”:{“regionName”:null,“regionCode”:null,“areaName”:null,“areaCode”:null,“cityName”:null,“cityCode”:null,“placeName”:“Ад Москва-Уфа-Челябинск 1016 км 435 м”,“placeCode”:null,“planName”:null,“planCode”:null,“streetName”:null,“streetCode”:null,“houseNumber”:null,“apartmentNumber”:null}}
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство ФИАС. Сохранение значения? Да. В случае, если функция “ФИАС. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Время.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Время.html new file mode 100644 index 0000000..10dfdb5 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Время.html @@ -0,0 +1,142 @@ + + + + + + + + Web-BPM Docs – Время + + + + + + +
+
+ + + +
+
+

Время

+

Назначение

+

Время - это компонента, которая используется для ввода или отображения времени.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Время может использоваться для:

+
    + +
  1. Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Дата. Сохранение значения должна быть включена)
  2. +
  3. Для отображения значения, которое было введен пользователем приложения или является константой, определённой в логике приложения (в данном случае, функция компоненты Дата. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Ввести значение
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Время
Значение позволяет задать значение поля по умолчанию пример возможного значения: 22:00:00
Минимальное время позволяет задать минимально возможное значение времени (часы, минуты и секунды), меньше которого пользователь ввести не сможет пример возможного значения: 08:00:01
Максимальное время позволяет задать максимально возможное значение времени(часы, минуты и секунды), больше которого пользователь ввести не сможет 18:00:01
+

Свойство Время. Сохранение значения

+

+

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

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли вносить данные в поле Время вручную? Да, ввод значения предусмотрен как с клавиатуры, так и выбор значения по значку в виде времени.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Время. Сохранение значения? Да. В случае, если функция “Время. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
Обязательно при ручном вводе значения в поле Время указывать значение с разделителем в виде двоеточия, т.е. 11:11:11? Нет, необязательно указывать разделитель между числами. Введя значение 111111 и убрав фокус с поля оно автоматически отформатируется к виду 11:11:11.
Обязательно при ручном вводе значения в поле Время указывать полное значение времени, т.е. часы, минуты и секунды? Нет, необязательно. Но в таком случае те части значения, которые не были указаны, будут автоматически проставлены как 00, т.е. если ввести только 11, то убрав фокус с поля значение преобразуется в 11:00:00.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Выпадающий_список.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Выпадающий_список.html new file mode 100644 index 0000000..6900046 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Выпадающий_список.html @@ -0,0 +1,223 @@ + + + + + + + + Web-BPM Docs – Выпадающий список + + + + + + +
+
+ + + +
+
+

Выпадающий список

+

Назначение

+

Выпадающий список - это компонента, которая используется для выбора пользователем одного значения из выпадающего списка значений, источником подгрузки данных для которого служит таблица (или представление) базы данных.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Выпадающий список может использоваться для:

+
    + +
  1. Для сохранения выбранного значения из списка доступных в базу данных и отображения значения из базы данных(в данном случае, функция компоненты Выпадающий список. Сохранение значения должна быть включена)
  2. +
  3. Для отображения значения из базы данных являющегося константой, определённой в логике приложения без сохранения выбранного значения пользователем (в данном случае, функция компоненты Выпадающий список. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке).
  4. +
+

Компонента Выпадающий список находится в разделе Компоненты - Поля - Выпадающий список.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента. пример возможного значения: Выберите район
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Район
Зависит от (parentControl) позволяет указать объект (родителя), например Выпадающий список, по идентификатору которого будут отображаться сведения в текущем зависимом элементе
Значение позволяет задать значение поля по умолчанию. При указании значения, компонентом будет осуществляться поиск соответствия между этим значением и содержимым колонки, указанной в параметре “Возвращать дополнительно из”. После успешного сопоставления пользователю будет отображаться значение из колонки, указанной в параметре “Показывать пользователю”. пример возможного значения: В свойстве компоненты “Возвращать дополнительно из” функции “Подгрузка данных” указана колонка базы данных, содержащее в себе значение кода записи. При открытии страницы с Выпадающим списком по умолчанию, при отсутствии иного значения подгруженного из базы данных (через функцию Выпадающийсписок. Сохранение значения), в него автоматически будет выставлено значение из таблицы базы данных с кодом НУ и отображаться значение из колонки “Показывать пользователю”, в данном случае это Наименование статуса (name)
Прикрепить значение (Scroll Gravity) позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений +
    +
  • По умолчанию (DEFAULT) - выбранное значение отображается в порядке своего следования в списке доступных значений для выбора
  • +
  • По центру (CENTER) - выбранное значение отображается по центру в выпадающем списке доступных значений для выбора
  • +
  • В верхней части (TOP)- выбранное значение отображается в верхней части выпадающего списка доступных значений для выбора
  • +
  • В нижней части (BOTTOM) - выбранное значение отображается в нижней части выпадающего списка доступных значений для выбора
Исключить условия графа данное свойство позволяет подгружать для отображения значения в поле минуя условия (ограничения), заданные в Графе сущностей компоненты +
    +
  • Не активно - в данном состоянии, при подгрузке значений отсекаются значения не соответствующие условиям, заданным в Графе сущностей компоненты
  • +
  • Активно - в данном состоянии, при подгрузке значений допускается отображение значений, не соответствующих условиям, заданным в Графе сущностей компоненты, но без возможности их повторного выбора в выпадающем списке
Помечать невалидным (Mark invalid if not Satisfy) данное свойство доступно для управления при активации значении свойства Exclude Graph Conditions и позволяет визуально помечать поле как невалидное на странице, в случае если в него было подгружено значение, не соответствующие условиям Графа сущностей элемента +
    +
  • Не активно - в данном значении, поле не помечается на странице как невалидное и отображается стандартным образом
  • +
  • Активно - в данном значении, убрав фокус с поля, оно помечается на странице как невалидное
Css class if not Satisfy данное свойство доступно для управления при активном значении свойства Exclude Graph Conditions и позволяет задать CSS-класс, который будет применяться, в случае если в поле было подгружено значение, не соответствующие условиям Графа сущностей элемента
Tooltip if not Satisfy позволяет отображать всплывающую подсказку,в случае если в поле было подгружено значение, не соответствующие условиям Графа сущностей элемента. Данное свойство доступно для управления при: активном значении свойства Exclude Graph Conditions и заданному значению в поле Css Class If Not Satisfy пример возможного значения: not_valid
+

Свойство компоненты: Выпадающий список. Подгрузка данных

+

+

позволяет задать источник подгрузки/сохранения данных в компоненту из/в объекта базы данных (таблицы или представления) с указанием следующих дополнительных настроек:

+
    + +
  • Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей. Является обязательным к заполнению и настройке.
  • +
  • Возвращать значение дополнительно из - по умолчанию компонента возвращает идентификатор записи выбранной из справочника значений. Настройка данного параметра позволяет указать компоненте, какое значение необходимо дополнительно считать и вернуть, кроме значения идентификатора выбранной пользователем записи.
  • +
  • Тип отображения (Display Type) - это свойство,позволяющее выбрать тип для отображения значения в поле: +
      + +
    • Из одной колонки - значение по умолчанию
    • +
    • Из нескольких колонок - позволяет указать перечень колонок, значения которых будут склеиваться в одну строку при отображении на странице с определяемым разделителем значений (точка, запятая, пробел и другие)
    • +
    +
  • +
  • + +

    Разделитель - символ или пробел, который будет разделять между собой значения из разных колонок таблиц(ы) приводимых в одну строку (доступно для настройки при Тип колонки - Из нескольких колонок)

    +
  • +
  • Порядок сортировки (Sort Order) - позволяет задать порядок сортировки отображаемых значений в списке для выбора, принимает значения: +
      + +
    • + +

      по возрастанию - значения будут сортироваться от меньшего к большему

      +
    • +
    • + +

      по убыванию - значения будут сортироваться от большего к меньшему

      +
    • +
    +
  • +
  • + +

    Показывать пользователю - позволяет задать элемент базы данных, значение которого будет отображено пользователю в Выпадающем списке(доступно для настройки при Тип колонки - Из одной колонки)

    +
  • +
  • + +

    Связаны по - позволяет указать колонку компоненты указанной в свойстве “Зависит от”, обеспечивающую связь между родительской и текущей компонентами

    +
  • +
  • + +

    Активировать фильтрацию по - позволяет задать колонку, по которой можно будет динамически активировать фильтр при использовании метода “Задать фильтр” (Set_Filter) в компоненте Обработка Событий в отношении настраиваемой компоненты

    +
  • +
  • + +

    Datasource Jndi Name - позволяет задать иной источник (базу данных) для выполнения запроса, заданного с помощью элементов базы данных в редакторе Графа сущностей элемента. Значение данного свойства может быть задано следующим образом:java:/webbpm/AppRepDS, а сам адрес базы данных, логин и пароль для подключения должен быть указан в файлеstandalone.xml(аналогично тому, как указывается, например, подключение к базе данных безопасности) (рис.1)

    +
  • +
+

+

рис.1 Настройка файла standalone.xml

+

В случае, если данное свойство не заполнено, запрос выполняется в базе данных, указанной в конфигурации проекта (во вкладке База данных). - Сортировать по - позволяет задать элемент базы данных, по значению которого будет производиться сортировка

+

Пример возможной настройки:

+

+

Свойство Выпадающий список. Сохранение значения

+

+

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

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Статичный выпадающий список от компоненты Выпадающий список? Компонента Статичный выпадающий списокиспользуются для выбора значений, которые указываются аналитиком вручную при настройке компоненты,Выпадающий списокиспользуется для выбора значений,которые подгружаются из таблицы базы данных.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Выпадающий список. Сохранение значения? Да. В случае, если функция “Выпадающий список. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
В выпадающем списке есть возможность ручного ввода символов для поиска значения? Да, при вводе символов в поле, компонента фильтрует содержимое в соответствии с введенным пользователем значением.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Дата.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Дата.html new file mode 100644 index 0000000..f264258 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Дата.html @@ -0,0 +1,191 @@ + + + + + + + + Web-BPM Docs – Дата + + + + + + +
+
+ + + +
+
+

Дата

+

Назначение

+

Дата - это компонента, которая используетсядля ввода или отображения даты или даты-времени.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Дата может использоваться для:

+
    + +
  1. Для сохранения информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Дата. Сохранение значения должна быть включена)
  2. +
  3. Для отображения значения, которое был введено пользователем приложения или является константой, определённой в логике приложения (в данном случае, функция компоненты Дата. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке).
  4. +
+

Компонента Дата находится в разделе Компоненты - Поля - Дата.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Формат позволяет задать формат для вывода +
    +
  • Только дата (в данном случае, значение в поле будет отображаться без времени)
  • +
  • Дата со временем
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Год
Значение позволяет задать статичное значение поля по умолчанию для отображения на странице, состоящее из двух частей: значения даты и значения времени (часы, минуты и секунды) (значение времени будет отображаться на пользовательской странице при условии, что в свойстве элемента Формат указано Дата со временем) пример возможного значения: 23.03.2021 11:11:11
Тип минимальной даты позволяет выбрать тип настройки для указания минимально допустимого значения даты в поле +
    +
  • Статичное (STATIC) - при выборе данного типа отображается свойство для заполненияМинимальная дата
  • +
  • Текущая (CURRENT) - при выборе данного типа в качестве минимально допустимого значения для ввода будет текущая дата хоста, на котором работает браузер пользователя
  • +
  • Другой объект (OTHER_OBJECT) - при выборе данного типа отображается свойство Объект для минимальной даты (Min Date Object)
Тип максимальной даты позволяет выбрать тип настройки для указания максимально допустимого значения даты в поле +
    +
  • Статичное (STATIC) - при выборе данного типа отображается свойство для заполненияМаксимальная дата
  • +
  • Текущая (CURRENT) - при выборе данного типа в качестве минимально допустимого значения для ввода будеттекущая дата хоста, на котором работает браузер пользователя
  • +
  • Другой объект (OTHER_OBJECT) - при выборе данного типа отображается свойство Объект для максимальной даты (Max Date Object)
Минимальная дата позволяет задать статичное минимально возможное значение даты, меньше которого пользователь ввести не сможет. Указание данного значения доступно, если в свойстве Тип для минимального значения (Min Date Type) выбрано - Статичное (STATIC). Минимальное значение состоит из двух частей: значения даты и значения времени (часы, минуты и секунды)(значение времени будет учитываться при условии, в свойстве элементаФормат указано Дата со временем) пример возможного значения: 23.03.2021 11:11:11
Обьект минимальной даты позволяет указать объект (компоненту) с типом Дата на настраиваемой странице, значение которой будет выступать в качестве минимально допустимого значения даты для ввода пользователем. Указание данного значения доступно, если в свойстве Тип для минимального значения (Min Date Type) выбрано -Другой объект (OTHER_OBJECT)
Максимальная дата позволяет задать статичное максимально возможное значение даты, больше которого пользователь ввести не сможет. Указание данного значения доступно, если в свойстве Тип для максимального значения (Max Date Type) выбрано - Статичное (STATIC). Максимальное значение состоит из двух частей: значения даты и значения времени (часы, минуты и секунды)(значение времени будет учитываться при условии, в свойстве элементаФормат указано Дата со временем) пример возможного значения: 31.12.2017 11:11:11
Обьект максимальной даты позволяет указать объект (компоненту) с типом Дата на настраиваемой странице, значение которой будет выступать в качестве максимально допустимого значения даты для ввода пользователем. Указание данного значения доступно, если в свойстве Тип для максимального значения (Max Date Type)выбрано -Другой объект (OTHER_OBJECT)
В виде календаря позволяет задать возможность отображения элемента на странице в виде развернутого календаря Принимает два значения: +
    +
  • Активно - элемент на странице будет отображаться в виде календаря с возможностью выбора даты
  • +
  • Не активно - элемент на странице будет отображаться в виде поля для ручного ввода значения или выбора значения из календаря
+

Свойство Дата. Сохранение значения

+

+

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

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить_роли_текущего_пользователя

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Сместить дату из поля на период вперед или назад

+

Определить текущую дату и сместить её вперед или назад на заданный период

+

Она относится к той группе функций, чья функциональность применяется и может быть полезной не сразу после добавления в исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется несколько новых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ в исходном компоненте Дата выбрано(изменилось) значение, ТО в другую компоненту Дата вывести значение из исходного, но на заранее заданный период (или годы, или месяцы, или дни) в будущее или прошлое’. Функция имеет параметры, позволяющие аналитику задать направление и величину сдвига во времени.

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Можно ли проставлять текущую серверную дату при открытии страницы с данным полем? Да, можно. Для этого необходимо добавить соответствующую функцию (Определить текущую дату и сместить её вперед или назад на заданный период) в функции поля. Необходимо отметить, что для проставления текущей даты не нужно заполнять свойства скрипта.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Дата. Сохранение значения? Да. В случае, если функция “Дата. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
Можно ли вносить данные в поле Дата вручную? Да,ввод значения предусмотрен как с клавиатуры, так и выбор значения по значку в виде календаря.
Обязательно при ручном вводе значения в поле Дата указывать значение с разделителем в виде точки, т.е. 01.01.2021? Нет, необязательно указывать разделитель между числами. Введя значение 01012021 и убрав фокус с поля оно автоматически отформатируется к виду 01.01.2021.
Можно ли проставлять дату со смещением при открытии страницы с данным полем? Да,можно. Для этого необходимо добавить соответствующий скрипт (Определить текущую дату и сместить её вперед или назад на заданный период) в функции поля. В данном случае, необходимо заполнить свойства функции и указать необходимый диапазон смещения от текущей даты.
Какое значение будет проставлено в поле Дата если ввести толькоодну часть значения, например, день? Если ввести только значение дня в поле Дата, то убрав фокус с поля оставшаяся часть месяц и год будут проставлены в соответствии с текущим месяцем и годом на сервере приложения.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Денежное_поле.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Денежное_поле.html new file mode 100644 index 0000000..65accef --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Денежное_поле.html @@ -0,0 +1,174 @@ + + + + + + + + Web-BPM Docs – Денежное поле + + + + + + +
+
+ + + +
+
+

Денежное поле

+

Назначение

+

Денежное поле - это компонента, которая используется для ввода и отображения денежного значенияна форме страницы.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Денежное поле может использоваться для:

+
    + +
  1. Для сохранения введеннойинформации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Денежное поле. Сохранение значения должна быть включена) (рис.2)
  2. +
  3. Для отображения числа, которые было введено пользователем приложения или является константой, определённой в логике приложения(в данном случае, функция компоненты Денежное поле. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке) (рис.3)
  4. +
+

Компонента Денежное поле находится в разделе Компоненты - Поля - Денежное поле.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите сумму
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Введите сумму
Значение по умолчанию позволяет задать значение поля по умолчанию, которое будет отображаться на странице пример возможного значения: 100
Минимальное возможное значение позволяет задать минимально возможное значение числа, меньше которого пользователь ввести не сможет пример возможного значения: 0
Максимальное возможное значение позволяет задать максимально возможное значение числа, больше которого пользователь ввести не сможет пример возможного значения: 999999
Шаг увеличения позволяет задать шаг увеличения значения числа пример возможного значения: 1
Количество знаков после запятой позволяет задать количество знаков после запятой пример возможного значения: 2
Префикс позволяет задать префикс, который будет отображаться перед суммой пример возможного значения: руб
Разделитель позволяет задать разделитель целой и дробной части суммы пример возможного значения:,
Разделитель тысяч позволяет задать разделитель тысяч пример возможного значения: .
+

Свойство Текстового поля (с возможностью сохранения): Сохранение значения

+

Указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Подгрузка данных по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации скриптов (

+

- скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Включить вычисление математических операций

+

Включить вычисление математических операций

+

Включить конвертирование значений

+

TODO desribe function

+

Функция, которая не имеет настраиваемых аналитиком параметров, но будучи задействованной, позволяет осуществить преобразование значения в исходном компоненте из текущего типа (чаще всего, в компоненте Поле ввода с подбором значенияиз типа данных ANY) в целочисленный тип данных.

+

Она относится к той группе функций, чья функциональность применяетсяи может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется нескольконовых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ в компоненте Поле ввода с подбором значения выбрано (изменилось) значение, ТО в компоненту числовое поле вывести идентификатор(первичный ключ) этого значения’

+

+

Рис.1 Активация функции на компоненте Поле ввода с подбором значения

+

+

Рис.2 Числовое поле, в которое будем записывать идентификатор значения из компонента Поле ввода с подбором значения

+

+

Рис. 3 Пример алгоритма заполнения числового поля идентификатором значения, выбранного в поле с Постановщиком задачи, при условии расширения функциональности исходной компоненты Поле ввода с подбором значения функцией Сконвертировать значение в целочисленный тип; (появился новый метод Сконвертировать в число; у исходной компоненты)

+

+

Рис.4 Пример невозможности построения алгоритма из-за отсутствия необходимого метода Сконвертировать в число, вследствие удаления функции Сконвертировать значение в целочисленный тип из исходной компоненты Поле ввода с подбором значения Постановщик задачи (пропал метод Сконвертировать в число у исходной компоненты)

+

После запуска web-приложения (in runtime mode) выбираем в компоненте Список с поиском одно из значений (например, постановщика задачи с фамилией Дякин), после этого значение идентификатора (первичный ключ сотрудника по фамилии Дякин в справочнике) переносится в поле"Идентификатор постановщика", а в консоли браузера можно наблюдать сообщение о срабатывании компоненты Обработка событий, которое показывает выполненное функцией действие.

+

+

Рис 5.Выбираем Постановщика задачи

+

+

Рис.6 Функция заполняет числовое поле идентификатором

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Денежное поле от компоненты Числовое поле? Компонента Денежное полеиспользуются для отображения денежных значений на странице, числовое полеиспользуется для отображения и ввода чисел.
Все ли свойства компоненты обязательны для заполнения? Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Многострочное_поле_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Многострочное_поле_на_страницу_.html new file mode 100644 index 0000000..4d37f63 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Многострочное_поле_на_страницу_.html @@ -0,0 +1,88 @@ + + + + + + + + Web-BPM Docs – Как добавить Многострочное поле на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить “Многострочное поле” на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице добавления департамента поле *Многострочного ввода (с возможностью сохранения)*с наименованием “Описание записи справочника” и следующими свойствами:

+
    + +
  • имя поля - Описание записи справочника
  • +
  • к полю должен быть применен CSS-класc: font-mini
  • +
  • поле должно иметь подсказку - Описание записи справочника
  • +
  • поле должно иметь надпись - Марка и номер авто принадлежащая организации
  • +
  • поле должно иметь ограничение в 20 символов
  • +
  • поле должно иметь маску ввода: A999AA AAAAAAAAAAAA
  • +
  • сохранение введенного значения должно осуществляться в базу данныхв таблицу org_charts в колонку avto_number
  • +
+

Решение задачи:

+

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

+
    + +
  • добавить внутрь Формы компоненту Многострочное поле из блока Компоненты - Поля - Многострочное поле (рис.1)
  • +
  • произвести настройки свойств согласно условиям задачи (рис.2). В этом случае стоит обратить внимание особенное внимание на свойство “Маска ограничивающая ввод”.
  • +
+

+ +
+
рис.1. Добавление компоненты Поле многострочного ввода на страницу   
+
+ +

+ +
+
рис.1. Добавление компоненты Поле многострочного вводана страницу             
+рис.2. Настройка компоненты Поле многострочного вводапо условию задачи
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.3).

+

+ +
+
 рис. 3. Визуальное отображение выполнения условий задачи
+
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Переключатель_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Переключатель_на_страницу_.html new file mode 100644 index 0000000..7e5f967 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Переключатель_на_страницу_.html @@ -0,0 +1,88 @@ + + + + + + + + Web-BPM Docs – Как добавить Переключатель на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить Переключатель на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице переключатель и будет иметь следующие настройки:

+
    + +
  • надпись поля - Должность
  • +
  • список значений из таблицы - employees
  • +
  • колонка сортировки - колонка position в таблице employees
  • +
  • колонка наименования - колонка position в таблице employees
  • +
  • колонка с кодом - колонка position в таблице employees
  • +
  • порядок сортировки - по возрастанию
  • +
+

Решение задачи:

+

Предполагается, что страница уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимаятаблица ***employees***. Для добавления на страницу и настройки текстового поля необходимо сделать следующее:

+
    + +
  • добавить внутрь **Формы**компоненту переключатель с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление переключателя на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Текстовое_поле_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Текстовое_поле_на_страницу_.html new file mode 100644 index 0000000..30c2e97 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_Текстовое_поле_на_страницу_.html @@ -0,0 +1,109 @@ + + + + + + + + Web-BPM Docs – Как добавить Текстовое поле на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить Текстовое поле на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице добавления нового департамента текстовое поле, значение которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • надпись поля - Название департамента
  • +
  • обязательно для заполнения пользователем приложения
  • +
  • ввод текста в поле должен осуществляться с использованием типа регистра -Первая буква-заглавная, то есть каждое новое слово в поле будет начинаться с заглавной буквы
  • +
  • поле должно иметь подсказку -Введите название департамента
  • +
  • к полю должны быть применены CSS-классы: фиксированный заголовок (fixed-label), размерность поля на странице должна быть максимальная (width-full)
  • +
  • сохранение введенного значения должно осуществляться в базу данных в таблицу org_unit колонку Департамент (name)
  • +
+

Решение задачи:

+

Предполагается, что страница с добавлением нового департамента уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая, в данном случае, таблица org_unit, в которую будет сохраняться введенное значение (наименование департамента). Для добавления на страницу и настройки текстового поля необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Текстовое поле (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.2)
  • +
+

+ +
+
рис.1. Добавление текстового поля на страницу            
+рис.2. Настройка текстового поля по условию задачи
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены, как, например, текстовое поле обязательно для заполнения (рис.3) и каждое новое слово вводимого значения в поле автоматически** начинается с Заглавной буквы** (рис.4).

+


+

+ +
+
рис.3. Визуальное отображение условия обязательности поля       
+рис.4. Визуальное отображение выполнения условия: тип регистра Первая буква - заглавная  
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_денежное_поле_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_денежное_поле_на_страницу_.html new file mode 100644 index 0000000..89282a6 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_денежное_поле_на_страницу_.html @@ -0,0 +1,89 @@ + + + + + + + + Web-BPM Docs – Как добавить денежное поле на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить денежное поле на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Денежное поле (с возможностью сохранения) - стоимость услуги, значение которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • надпись поля - Стоимость услуги
  • +
  • поле должно иметь всплывающую подсказку - Введите стоимость услуги в рублях
  • +
  • минимальное возможное значение должно быть равно 0
  • +
  • максимальное возможное значение должно быть равно 999999
  • +
  • шаг увеличения значения должен быть равно 10
  • +
  • количество знаков после запятой должно быть равно2
  • +
  • префикс значение должно быть - руб
  • +
  • сохранение введенного значения должно осуществляться в базу данныхв таблицу Список услуг (service) колонку Стоимость (price)
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница Карточка услуги уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая, в данном случае, ***таблица Список услуг (service)***, в которую будет сохраняться введенное значение (стоимость услуги). Для добавления на страницу и настройки денежного поля необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Денежное поле с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление денежного поля на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_компоненту_Текст_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_компоненту_Текст_на_страницу_.html new file mode 100644 index 0000000..7085e40 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_компоненту_Текст_на_страницу_.html @@ -0,0 +1,99 @@ + + + + + + + + Web-BPM Docs – Как добавить компоненту Текст на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить компоненту Текст на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице добавления нового департамента элемент Текст, который будет иметь следующие настройки:

+
    + +
  • надпись поля - Создание департамента
  • +
  • поле должно иметь подсказку - Новая карточка департамента
  • +
  • к полю должны быть применены CSS-классы: заголовок (title)
  • +
+

Решение задачи:

+

Предполагается, что страница с добавлением нового департамента уже создана бизнес-аналитиком. Для добавления на страницу и настройки компоненты Текст необходимо сделать следующее:

+
    + +
  • добавить внутрь Вертикального контейнера компоненту Текст( рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.2)
  • +
+

+ +
+
рис.1. Добавление компоненты Текст на страницу                     
+рис.2. Настройка компоненты Текст по условию задачи
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены, как, например, текст виден пользователю и имеет всплывающую подсказку (рис.3).

+

+ +
+
  рис.3. Визуальное отображение выполнения условий задачи
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_несколько_полей_Дата_на_страницу_с_автоматическим_заполнением_последнего_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_несколько_полей_Дата_на_страницу_с_автоматическим_заполнением_последнего_.html new file mode 100644 index 0000000..69b1bc5 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_несколько_полей_Дата_на_страницу_с_автоматическим_заполнением_последнего_.html @@ -0,0 +1,116 @@ + + + + + + + + Web-BPM Docs – Как добавить несколько полей Дата на страницу с автоматическим заполнением последнего? + + + + + + +
+
+ + + +
+
+

Как добавить несколько полей Дата на страницу с автоматическим заполнением последнего?

+

Постановка задачи: необходимо реализовать на пользовательской странице два элемента Дата (с возможность сохранения), значение которых будут сохраняться в базу данных и будут иметь следующие настройки:

+

Поле Дата №1 (задаем условия так, чтобы определялась текущая дата):

+
    + +
  • надпись - “С”
  • +
  • минимальная дата - 01.11.2017
  • +
  • в свойства поля необходимо добавить функцию “Определить текущую дату и сместить её вперед или назад на заданный период”, которая имеет условия: +
      + +
    • чекбокс “В будущее”
    • +
    +
  • +
+

Поле Дата №2 (задаем условия таким образом, чтобы дата смещалась на 2 года от текущей):

+
    + +
  • надпись - “По”
  • +
  • в свойства поля необходимо добавить функцию “Определить текущую дату и сместить её вперед или назад на заданный период”, которая имеет условия: +
      + +
    • чекбокс “В будущее” (истина)
    • +
    • количество лет - 2
    • +
    +
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница Карточка задачи уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая таблица, в которую будет сохраняться введенноезначение. Для добавления на страницу и настройки полей Дата (с возможностью сохранения) необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы две компоненты* Дата,* расположенного в блоке Компоненты - Поля - Дата (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.2, рис.3)
  • +
+

+ +
+
  рис.1. Добавление компоненты Дата на страницу                            
+  рис. 2 и рис.3 Настройка компоненты
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.4)
+

+

+ +
+
 рис.4. Визуальное отображение выполнения условий задачи
+
+ +


+

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_поле_Время_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_поле_Время_на_страницу_.html new file mode 100644 index 0000000..09cb576 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_поле_Время_на_страницу_.html @@ -0,0 +1,95 @@ + + + + + + + + Web-BPM Docs – Как добавить поле Время на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить поле Время на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Время (с возможность сохранения), значение которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • всплывающая подсказка - Пожалуйста введите время
  • +
  • подсказка - Время
  • +
  • минимальное время - 08:00
  • +
  • максимальное время - 22:00
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница Карточка задачи уже создана бизнес-аналитиком, где имеется*основная компонента Форма, в структуру сущностей которой включена необходимая таблица, куда будет сохраняться введенноезначение. Для добавления на страницу и настройки поля Время необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Время с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.2)
  • +
+

+ +
+
   рис.1. Добавление компоненты Время на страницу     
+   рис.2. Настройка компоненты Время
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.3)
+

+

+ +
+
   рис.3. Визуальное отображение выполнения условий задачи 
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_поле_Дата_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_поле_Дата_на_страницу_.html new file mode 100644 index 0000000..8f9402c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_поле_Дата_на_страницу_.html @@ -0,0 +1,93 @@ + + + + + + + + Web-BPM Docs – Как добавить поле Дата на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить поле Дата на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Дата (с возможность сохранения), значение которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • надпись - Дата создания департамента
  • +
  • всплывающая подсказка - Заполняется датой перехода в систему
  • +
  • минимальная дата - 01.11.2017
  • +
  • формат - Только дата
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница Карточка задачи уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая таблица, в которую будет сохраняться введенноезначение. Для добавления на страницу и настройки поля Дата необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Дата с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.2)
  • +
+

+ +
+
рис.1. Добавление компоненты Дата на страницу            
+рис.2. Настройка компоненты Дата
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.3)

+

рис.3. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_список_с_поиском_для_выбора_одного_значения_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_список_с_поиском_для_выбора_одного_значения_на_страницу_.html new file mode 100644 index 0000000..f540ec8 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_список_с_поиском_для_выбора_одного_значения_на_страницу_.html @@ -0,0 +1,239 @@ + + + + + + + + Web-BPM Docs – Как добавить список с поиском для выбора одного значения на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить список с поиском для выбора одного значения на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Создания проекта элемент Администратор проекта (Список с поиском для выбора одного значения), выбранное значение которого будет сохраняться в базу данных и вложенные компоненты которого будут иметь следующие настройки:

+

Список с поиском (с возможностью сохранения):

+
    + +
  • надпись поля - Администратор
  • +
  • недоступно для управления пользователем
  • +
  • обязательно для заполнения пользователем приложения
  • +
  • должно иметь подсказку - Выберите сотрудника
  • +
  • подлежит сохранению в базу данных
  • +
  • значение поля должно сохраняться в таблицу Проекты (projects) в колонку Администратор проекта (admin_employee_id)
  • +
  • в Граф сущностей должна быть добавлена таблица Список сотрудников(employees)
  • +
  • колонка должна быть составной и включать в себя поля Фамилия, Имя, Отчество, электронный адрес из таблицы Список сотрудников (employees). Разделителем должен быть пробел. Например, Петров Иван Алексеевич (petrov@cg.ru)
  • +
+

Кнопка выбора (вызова диалога):

+
    + +
  • надпись на кнопке - +
  • +
+

Группа фильтров должна включать в себя фильтры, расположенные в двух вертикальных контейнерах параллельных друг другу:

+
    + +
  • Фильтр по текстовому полю (по фамилии сотрудника) +
      + +
    • надпись поля - Фамилия
    • +
    • подсказка - Укажите фамилию
    • +
    • фильтровать по… - таблице Список сотрудников и колонке Фамилия (name_last)
    • +
    • операция фильтрации - Содержит всю подстроку
    • +
    +
  • +
  • Фильтр по текстовому полю (по имени сотрудника) +
      + +
    • надпись поля - Имя
    • +
    • подсказка - Укажите имя
    • +
    • фильтровать по… - таблице Список сотрудников иколонке Имя(name_first)
    • +
    • операция фильтрации - Содержит всю подстроку
    • +
    +
  • +
  • Фильтр по текстовому полю (по отчеству сотрудника) +
      + +
    • надпись поля -Отчество
    • +
    • подсказка - Укажите отчество
    • +
    • фильтровать по… - таблице Список сотрудников иколонке Отчество (name_middle)
    • +
    • операция фильтрации - Содержит всю подстроку
    • +
    +
  • +
  • Фильтр по текстовому полю (по e-mail сотрудника) +
      + +
    • надпись поля - E-mail
    • +
    • подсказка -Укажите весь email или его часть
    • +
    • фильтровать по… -таблице Список сотрудников и колонке Электронный адрес(user_mail)
    • +
    • операция фильтрации - Содержит всю подстроку
    • +
    +
  • +
  • Фильтр по выпадающему списку (по организации) +
      + +
    • надпись поля -Организация
    • +
    • подсказка -Выберите значение из списка в настройках фильтрации: правило обработки -ИЛИ
    • +
    • фильтровать по… -таблице Список сотрудников иколонке Организация(legal_entity_id)
    • +
    • подгрузка данных:
    • +
    • источником данных служит - таблица Организация (legal_entities), заданная в Графе сущностей сортировка производится по полю - Наименование (name) таблицы Организация (legal_entities) на странице пользователю отображается значение поля -Наименование (name) таблицы Организация (legal_entities) дополнительно возвращаться значение - Идентификатор(legal_entity_id) таблицы Организация (legal_entities) значение фильтра, которое будет передаваться другому элементу - Идентификатор (legal_entity_id) таблицы Организация (legal_entities)
    • +
    • операция фильтрации: Равно
    • +
    +
  • +
+

Таблица:

+
    + +
  • в Граф сущностей должны быть включены таблицы -Список сотрудников (главная сущность) и Организация, связанные по ключу legal_entity_id
  • +
  • должны отображаться три колонки: +
      + +
    1. Составная колонка ФИО из полей Фамилия, Имя, Отчество таблицы Список сотрудников(employees)
    2. +
    3. E-mail из поля Электронный адрес (user_mail) таблицы Список сотрудников(employees)
    4. +
    5. Организация из поля Наименование (name) таблицы Организация (legal_entities)
    6. +
    +
  • +
  • сортировка должна осуществляться по возрастанию по колонке Фамилия (name_last) таблицыСписок сотрудников(employees)
  • +
+

Решение задачи:

+

Предполагается, что страница с Созданием проекта уже реализована бизнес-аналитиком, где имеется основная компонента Форма, в структуру сущностей которой включена необходимая, в данном случае, ***таблица Проекты (projects)***, в которую будет сохраняться выбранное значение (Администратор проекта). Для добавления на страницу и настройки Списка с поиском для выбора одного значениянеобходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Список с поиском для выбора одного значения и для удобства переименовать ее, например как, Администратор
  • +
  • произвести настройку всех вложенных компонент согласно условию задачи
  • +
+

Настройка вложенных компонент:

+

Список с поиском с возможностью сохранения (рис.1,рис.1.1, рис.1.2)

+ +
+
рис.1 Настройка основных параметров Списка с поиском      
+рис.1.1 Настройка Графа сущностей Списка с поиском     
+рис.1.2 Настройка подгрузки данных Списка с поиском с возможностью сохранения         
+
+ +

Кнопка выбора (рис.2)

+

Фильтр по Фамилии сотрудника (рис.3)

+

Фильтр по Имени сотрудника (рис.4)

+


+

+ +
+
рис.2 Настройка Кнопки выбора  
+рис.3 Настройка Фильтра по фамилии сотрудника           
+рис.4 Настройка Фильтра по имени сотрудника  
+
+ +

Фильтр по Отчеству сотрудника (рис.5)

+

Фильтр по E-mail сотрудника (рис.6)

+

Фильтр по Организации (рис.7)

+


+
+

+ +
+
  рис.5 Настройка Фильтра по отчеству сотрудника   
+  рис.6 Настройка Фильтра по E-mail сотрудника       
+  рис.7 Настройка Фильтра по организации  
+
+ +

Таблица (рис.8, рис.9, рис.10)

+ +
+
   рис.8 Настройка Графа сущностей Таблицы        
+   рис.9 Настройка колонок Таблицы      
+   рис.10 Настройка колонок Таблицы
+
+
+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и элемент корректно отображается на странице (рис.11, рис.12, рис.13)

+


+
+

+ +
+
рис.11 Визуальное отображение поля без выбранного значения 
+рис.12 Визуальное отображение окна Диалога с Таблицей    
+рис.13 Визуальное отображение поля с выбранным значением
+
+ +
+
+

Attachments:

+
+ +
+ +

image2019-2-6_17-6-45.png (image/png)
+ image2019-2-15_13-42-3.png (image/png)
+ image2019-2-15_13-42-12.png (image/png)
+ image2019-2-15_13-42-16.png (image/png)
+ image2019-2-15_15-46-41.png (image/png)
+ image2019-2-15_15-47-42.png (image/png)
+ image2019-2-15_15-51-8.png (image/png)
+ image2019-2-15_15-52-35.png (image/png)
+ image2019-2-15_15-52-56.png (image/png)
+ image2019-2-15_15-57-18.png (image/png)
+ image2019-2-15_15-59-34.png (image/png)
+ image2019-2-15_16-1-57.png (image/png)
+ image2019-2-15_16-2-22.png (image/png)
+ image2019-2-15_16-6-5.png (image/png)
+ image2019-2-18_15-31-45.png (image/png)
+ image2019-2-18_15-32-27.png (image/png)
+ image2019-2-18_15-32-59.png (image/png)
+ image2019-2-18_15-34-10.png (image/png)
+ image2019-2-18_15-34-40.png (image/png)
+ image2019-2-18_15-35-7.png (image/png)
+ image2019-2-18_15-38-23.png (image/png)
+ image2019-2-18_15-39-4.png (image/png)
+ image2019-2-18_15-54-23.png (image/png)
+ image2019-2-18_15-54-57.png (image/png)
+ image2019-2-18_15-56-22.png (image/png)
+ image2019-2-18_16-5-34.png (image/png)
+ image2019-2-18_16-7-57.png (image/png)
+ image2019-2-18_16-8-44.png (image/png)
+ image2019-2-18_16-9-24.png (image/png)
+ image2019-2-18_16-24-23.png (image/png)
+ image2019-2-18_16-24-52.png (image/png)
+ image2019-2-18_16-27-49.png (image/png)
+ image2019-2-18_16-28-40.png (image/png)
+ image2019-2-18_16-31-32.png (image/png)
+ image2019-2-18_16-32-22.png (image/png)
+ image2019-2-18_16-32-46.png (image/png)
+ image2019-2-19_10-6-59.png (image/png)

+
+ + +
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_статичный_выпадающий_список_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_статичный_выпадающий_список_на_страницу_.html new file mode 100644 index 0000000..3fc6f89 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_статичный_выпадающий_список_на_страницу_.html @@ -0,0 +1,85 @@ + + + + + + + + Web-BPM Docs – Как добавить статичный выпадающий список на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить статичный выпадающий список на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Статичный выпадающий список с возможностью сохранения, выбранное значение из которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • надпись поля - Выберите год
  • +
  • поле должно иметь всплывающую подсказку - Выберите значение из списка
  • +
  • список значений должен содержать элементы - Текущий год и Отчетный год
  • +
  • сохранение выбранного значения должно осуществляться в базу данныхв таблицу service колонку Год (year), если выбран Текущий год в базу данных записывается 2019, при выборе Отчетный год в базу данных записывается 2018
  • +
+

Решение задачи:

+

Предполагается, что страница уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая, в данном случае, таблица service, в которую будет сохраняться выбранное значение (год). Для добавления на страницу и настройки Статичного выпадающего списка необходимо сделать следующее:

+
    + +
  • добавить внутр ь**Формы** компоненту Статичный выпадающий список с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление статичного выпадающего списка на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_числовое_поле_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_числовое_поле_на_страницу_.html new file mode 100644 index 0000000..f588df9 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_числовое_поле_на_страницу_.html @@ -0,0 +1,91 @@ + + + + + + + + Web-BPM Docs – Как добавить числовое поле на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить числовое поле на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице элемент Числовое поле (с возможность сохранения) - оценку результата, значение которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • надпись поля - Оценка
  • +
  • поле должно иметь всплывающую подсказку -Введите оценку результата по задаче
  • +
  • к полю должны быть применены CSS-классы: фиксированный заголовок (fixed-label-small) и размерность поля минимальная (mini)
  • +
  • минимальное возможное значение должно быть равно 0
  • +
  • максимальное возможное значение должно быть равно 5
  • +
  • шаг увеличения значения должен быть равен 1
  • +
  • сохранение введенного значения должно осуществляться в базу данныхв таблицу Список задач (tasks) колонку Оценка результата (result_score)
  • +
+

Решение задачи:

+

Предполагается, что пользовательская страница Карточка задачи уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая, в данном случае, ***таблица Список задач (tasks)***, в которую будет сохраняться введенное значение (оценка результата по задаче). Для добавления на страницу и настройки числового поля необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Числовое поле с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

рис.1. Добавление числового поля на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_элемент_Выпадающий_список_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_элемент_Выпадающий_список_на_страницу_.html new file mode 100644 index 0000000..e7a8f86 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_элемент_Выпадающий_список_на_страницу_.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Выпадающий список на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Выпадающий список на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Карточки сотрудника Выпадающий список с возможностью сохранения, в котором будет отображаться перечень районов проживания доступных для выбора пользователем, и который будет иметь следующие настройки:

+
    + +
  • надпись поля - Выберите район проживания
  • +
  • вГраф сущностейв качестве Главной сущности должна быть определена таблица районов (district)
  • +
  • показывать пользователю колонку - Наименование района (колонка name в таблице district)
  • +
  • колонка БД для сохранения - колонка district_id в таблице price_monitor_report
  • +
+

Решение задачи:

+

Предполагается, что страница Карточка сотрудника уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая таблица price_monitor_report для сохранения выбранного значения пользователем в элементе Выпадающий список с возможностью сохранения. Для добавления на страницу и настройки Выпадающего списка необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Выпадающий список с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1 Добавление Выпадающего списка на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_элемент_Статичный_переключатель_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_элемент_Статичный_переключатель_на_страницу_.html new file mode 100644 index 0000000..c3f123f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_добавить_элемент_Статичный_переключатель_на_страницу_.html @@ -0,0 +1,82 @@ + + + + + + + + Web-BPM Docs – Как добавить элемент Статичный переключатель на страницу? + + + + + + +
+
+ + + +
+
+

Как добавить элемент Статичный переключатель на страницу?

+

Постановка задачи: необходимо реализовать на пользовательской странице Карточка сотрудника элементСтатичный переключатель с возможностью сохранения, выбранное значение из которого будет сохраняться в базу данных и будет иметь следующие настройки:

+
    + +
  • надпись поля - Выберите период
  • +
  • список значений должен содержать элементы - Месяц и Год
  • +
  • значение по умолчанию - Год
  • +
  • сохранение выбранного значения должно осуществляться в базу данныхв таблицу service колонку Период (period), если выбран Месяцв базу данных записывается month,при выборе Год в базу данных записывается year
  • +
+

Решение задачи:

+

Предполагается, что страница уже создана бизнес-аналитиком, где имеется ***основная компонентаФорма***, в структуру сущностей которой включена необходимая, в данном случае, таблица service, в которую будет сохраняться выбранное пользователем значение (период). Для добавления на страницу и настройки Статичного переключателя необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Статичный переключатель с возможностью сохранения (рис.1)
  • +
  • произвести настройки согласно условию задачи (рис.1)
  • +
+

+

рис.1. Добавление Статичного переключателя на страницу

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.2)

+

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Загрузка_файла_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Загрузка_файла_на_странице_.html new file mode 100644 index 0000000..17596b9 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Загрузка_файла_на_странице_.html @@ -0,0 +1,300 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Загрузка файла на странице? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту “Загрузка файла” на странице?

+

Постановка задачи: необходимо реализовать на пользовательской странице “Карточка Проекта” загрузку файлов, являющихся сканированными приложениями к проекту (расширения png, jpeg, jpg).

+

Для настройки компоненты Загрузка файла потребуются следующие данные:

+
    + +
  • + +

    надпись поля - Файлы-вложения

    +
  • +
  • + +

    максимальный размер каждого файла - 10 Мб

    +
  • +
  • + +

    допустимо удаление файла - удаление разрешено

    +
  • +
  • + +

    список допустимых типов файлов -png, jpeg, jpg

    +
  • +
  • + +

    допустимое максимальное количество файлов в компоненте - 10 и отдельным случаем рассмотреть - единственный 1 файл

    +
  • +
  • + +

    главная сущность графа основной формы-таблица projects.project_id

    +
  • +
  • + +

    главная сущность графа компоненты - таблица project_attachments

    +
  • +
  • + +

    колонка-внешний ключ из таблицы вложений в таблицу проектов -project_attachments.project_id

    +
  • +
  • + +

    колонка с именем файла вглавной сущности графа компоненты-project_attachments.attachment_file_path

    +
  • +
  • + +

    колонка с содержимым файлав главной сущности графа компоненты -project_attachments.file

    +
  • +
  • + +

    для случая с единственным файлом: колонка с именем файла в главной сущности графа основной формы-projects.attachment_file_path

    +
  • +
  • + +

    для случая с единственным файлом: колонка с содержимым файлав главной сущности основной формы -projects.file

    +
  • +
+

Страница “Карточка Проекта” должна иметь следующие настройки:

+
    + +
  • в качествеглавной сущности компонентыФормадолжна быть назначена таблица “Проекты”(projects).
  • +
  • внутри родительской компоненты-контейнераФормавсей страницы следует расположить компоненту “Загрузка файла”.
  • +
  • внутри родительской компоненты-контейнераФормавсей страницы следует расположить другие компоненты, например, Текстовое поле для сохранения иных параметров сущности “проект” (не входит в текущее задание).
  • +
  • для случая, когда к одному проекту следует сохранить несколько вложений: вГраф сущностей компоненты Загрузка файлав качестве Главной сущности должна быть определена таблица вложений (project_attachments) .
  • +
  • для случая, когда к одному проекту следует сохранить единственное вложение: вГраф сущностей компоненты Загрузка файлав качестве Главной сущности должна быть определена таблица Проектов (projects).
  • +
  • установить должным образом связи между таблицами в параметрах компоненты.
  • +
+

Решение задачи:

+
    + +
  • Добавляем ***основную компонентуФорма***, в структуру сущностей которой включаем таблицу projects. (рис.1)
  • +
+

+

рис.1. Добавление компоненты Форма на страницу

+
    + +
  • Добавляем внутрь компоненты Формы компоненту Загрузка файла (рис.2)
  • +
+

+

рис.2. Добавление компоненты Загрузка файла на страницу

+
    + +
  • Настраиваем основные параметры компоненты Загрузка файла (рис. 3)
  • +
+

+

рис.3. Настройка основных параметров компоненты Загрузка файла

+
    + +
  • Настраиваем граф сущностей компоненты Загрузка файла (рис. 4)
  • +
+

+

рис.4. Настройка графа сущностей компоненты Загрузка файла.

+

Обращаем внимание, что при изменении настройки “Допустимое максимальное количество файлов”, появляется дополнительный параметр для указания внешнего ключа,

+

по которому связаны главная сущность компоненты Форма и главная сущность компоненты Загрузка файла

+
    + +
  • Настраиваем взаимосвязи главной сущности графа компоненты Форма и главной сущности компоненты Загрузка файла (рис.5)
  • +
+

+

рис.4. Настройкавзаимосвязи главной сущности графа компоненты Форма и главной сущности компоненты Загрузка файла

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.5,6)

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+

+
+
+ +

+
+

рис. 5 Открываем карточку проекта.

+ +

Переходим к компоненте Загрузка файла и указываем список файлов для прикрепления.

+ +

Сохраняем карточку проекта.


+
+

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

+ +

Крестик в верхнем углу файла позволяет удалить файл из списка прикрепленных.

+ +

Нажатие мышкой по наименованию файла (представленного гиперссылкой) приводит к выкачивания файла браузером.

+
+ +

Дополнительно отдельно рассмотрим случай сохранения единственного файла вложений в ту же таблицу, что и другие параметры сущности “проект” (а не в зависимую таблицу).

+

Возвращаемся к настройке графа сущностикомпоненты Загрузка файла (рис. 4а) и вместо зависимой таблицы project_attachments в качестве главной сущности компоненты Загрузка файла выбираем такую же таблицу, как у главной сущности компоненты Форма - projects.

+
    + +
  • Изменяем параметр “Допустимое максимальное количество файлов” в значение “1” и настраиваем граф сущностей компоненты Загрузка файла (рис. 4а)
  • +
+

рис.4а Настройка графа сущностей компоненты Загрузка файла.

+

Обращаем внимание, что при изменении настройки “Допустимое максимальное количество файлов”, исчезает ранее настроенный дополнительный параметр для указания внешнего ключа,

+

по которому связаны главная сущность компоненты Форма и главная сущность компоненты Загрузка файла.

+
    + +
  • Настраиваем взаимосвязи главной сущности графа компоненты Форма и главной сущности компоненты Загрузка файла (рис.5)
  • +
+

рис.4. Настройкавзаимосвязи главной сущности графа компоненты Форма и главной сущности компоненты Загрузка файла

+

Результат выполнения задачи для варианта с единственным прикрепляемым файлом:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис.5а,6а)

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +

+

+
+
+ +

+
+

рис. 5а Открываем карточку проекта.

+ +

Переходим к компоненте Загрузка файла и указываем список файлов для прикрепления.

+ +


+


+
+

рис. 5б Компонента не позволяет прикрепить список файл и оставляет только один из выбранных.

+ +

Сохраняем карточку с единственным прикрепленным файлом.

+ +


+

+
+ +

+

Рис. 6а Открываем ту же карточку проекта на изменение. Прикрепленный на предыдущем шаге единственный файл отображаются в зоне предпросмотра.

+

Крестик в верхнем углу файла позволяет удалить файл из прикрепленных.

+

Нажатие мышкой по наименованию файла (представленного гиперссылкой) приводит к выкачивания файла браузером.

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Поле_ввода_с_подбором_значения_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Поле_ввода_с_подбором_значения_на_странице_.html new file mode 100644 index 0000000..d64d18d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Поле_ввода_с_подбором_значения_на_странице_.html @@ -0,0 +1,187 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Поле ввода с подбором значения на странице? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту “Поле ввода с подбором значения” на странице?

+

Постановка задачи: на пользовательской странице Карточка задачи необходимо обеспечить возможность ввода Постановщика задачис использованием компоненты “Поле ввода с подбором значения”, источником данных для которой будет справочник сотрудников, а выбор одного сотрудника из справочника будет осуществляться путем постепенного набора первых букв фамилии с последующим подбором и отображением сужающегося списка сотрудников, в чьих фамилиях содержится вводимый пользователем набор букв.

+

При открытии карточки задачи на редактирование, в компоненте должен отобразиться ранее сохраненный в качестве Постановщика задачи пользователь.

+

Страница “Карточка задачи” должна иметь следующие настройки:

+
    + +
  • в качествеглавной сущности компонентыФормадолжна быть назначена таблица “Список задач”(tasks),в которойимеется колонка с идентификатором сотрудника, являющегося постановщиком задачи (reporter_employee_id).
  • +
  • внутри родительской компоненты-контейнераФормавсей страницы следует расположить 3 простых компоненты:Текстовое поледля параметраНаименование задачи,Текстовое поледля параметраОписание задачи, Поле с подбором значения для параметра Постановщик задачи
  • +
  • в Граф сущностей компоненты Поле с подбором значения в качестве Главной сущности должна быть определена таблица сотрудников (employee)
  • +
  • показываемая пользователю колонка - составная, получаемая из соединения колонок Фамилия (last_name), Имя(first_name), Отчество(middle_name)
  • +
  • колонка базы данных для сохранения значения из компоненты Поле с подбором значения - tasks.reporter_employee_id
  • +
+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком и в логике бизнес-процесса определена необходимая переменная процесса task_id, значение которой заполняется перед открытием страницы пользователем. Для решения поставленной задачи необходимо произвести следующие действия:

+
    + +
  • добавить внутрь страницы компоненту Форма (рис.1)
  • +
  • в настройках добавленной Формы перейти к разделу Подгрузка данных основная - Источник данных - Граф сущностей и настроить его в соответствии с условием задачи (рис.2).
  • +
+

+ +
+
рис.1 Добавление компоненты Форма на страницу  
+рис.2 Настройка Графа сущностей компоненты Форма
+
+ +
    + +
  • + +

    в параметре “Переменная процесса с идентификатором” ( Подгрузка данных основная- Переменная процесса с идентификатором ) следует указать переменную процесса task_id (рис.3)

    +

    +

    рис.3 Настройка переменной процесса

    +
  • +
  • + +

    расположить компоненты для отображения параметров Наименование задачи, Описание задачии настроить их на отображение информации из источника данных (рис.4, рис.5)

    + +
    + + + + + + + + + + + + + + + + + + +
    +
    + +

    +
    +
    + +

    +
    рис.4 Добавление элемента Наименованиерис.5 Добавление элемента Описание
    +
    +
  • +
  • + +

    расположить компоненту Поле с подбором значения внутри компоненты Форма и настроить колонку для сохранения информации в базу данных (чтения информации из базы данных) рис. 6:

    +
  • +
+

+

рис.6 Назначение колонки сохранения информации

+
    + +
  • настроитькомпоненту Поле с подбором значения на свой источник данных для отображения содержимого справочника сотрудников по мере набора букв фамилии сотрудника (рис. 7)
  • +
+

+

рис.7 Конфигурация основных параметров компоненты

+

Зеленой цветом (стрелкой) показан процесс конфигурации графа сущности компоненты.

+

Коричневыми рамками отмечены параметры “Начать подбор вариантов после ввода”, “Показывать варианты по” , отвечающие за а) назначение количества символов, после ввода которых начнется подбор и предложение подходящих по подстроке вариантов из справочника и б) указание максимального количества вариантов, выводимых в выпадающем списке в процессе подбора.

+

Розовой рамкой отмечен параметр “Тип поиска”, указывающий системе каким образом обрабатывать вхождение вводимой пользователем подстроки - вхождение с любого места или только с начала строки.

+

Синими рамками помечены взаимосвязанные параметры “Зависит от”, “Связаны по” для случая, когда текущая компонента является зависимой от родительской и предлагаемые текущей компонентой значения должны удовлетворять значению, ранее выбранному в родительской компоненте (отобрать только такие записи, в которых значенияв указанной колонке текущей компоненты соответствуютзначению идентификатора главной сущности родительской компоненты).

+

Светло-синей рамкойпомечен параметр с колонкой, значение которой будет дополнительно возвращать компонента при использовании метода “Получить значение по BusinessId” (дополнительно к обычно возвращаемому идентификатору главной сущности графа компоненты).

+

Желтой рамкойпомечен параметр “Активировать фильтрацию по колонке”, указывающий на колонку, по которой будет работать метод “Задать фильтр”.

+
    + +
  • настроить компоненту Поле с подбором значения для формирования составного значения из колонок с фамилией, именем и отчеством сотрудника (рис.8)
  • +
+

+

рис.8 Конфигурация составной колонки, в качестве разделителя указан “пробел”

+

На этом настройка компоненты закончена, запускаем приложение.

+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис. 9)

+ +
+ +

+
+ +

+

+

При вводе первых двух букв система не реагирует, ждет третью

+

После появления третьей буквы начинает предлагать имеющиеся варианты, подходящие по условиям вхождения уже введенной подстроки

+

После появления очередной буквы, позволяющей индивидуализировать подбираемое значение, остается единственный вариант, который можно добрать вручную, выбрать манипулятором мышь или нажать кнопку “Ввод” на клавиатуре

+

рис. 9 Работа компоненты в запущенном приложении

+

рис.2. Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Пополняемый_список_зависимых_записей_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Пополняемый_список_зависимых_записей_.html new file mode 100644 index 0000000..2e437a1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Пополняемый_список_зависимых_записей_.html @@ -0,0 +1,290 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Пополняемый список зависимых записей? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту “Пополняемый список зависимых записей”?

+

Постановка задачи: на пользовательской странице Карточка задачи, кроме набора параметров непосредственно самой задачи, необходимо обеспечить возможность прикрепления информации о нескольких приложенных документах (с атрибутами “имя документа”, “описание документа”) для последующего добавления в базу данных одной строки с информацией о задаче и одновременногодобавления нескольких строк в зависимую таблицу с сохранением взаимосвязи между вставленными в обе таблицы записями.

+

При открытии такой карточки на редактирование, согласно сохраненным ссылкам между записями, интерфейс системы должен отобразить и параметры самой задачи, и список сопоставленных с ней документов.

+

Страница “Карточка задачи” должна иметь следующие настройки:

+
    + +
  • в качестве главной сущности компоненты Формадолжна быть назначена таблица “Список задачи”(tasks), в которойимеются колонки с информацией о наименовании и описании задачи и колонка с первичным ключом (task_id).
  • +
  • внутри родительской компоненты-контейнераФормавсей страницы следует расположить 3 простых компоненты:Текстовое поледля параметраНаименование задачи,Текстовое поледля параметраОписание задачи.
  • +
  • в граф сущности элемента “Редактируемая Таблица” компоненты Пополняемый список зависимых записей включитьтаблицу “Вложенные документы задачи” (task_attachments), в которойимеются колонки с информацией “имя документа”, “описание документа” для хранения атрибутов файла и колонка для указания идентификатора задачи (task_id), с которым конкретный документ соотнесен.
  • +
  • внутри элемента Формакомпоненты Пополняемый список зависимых записей расположить2 простых компоненты:Текстовое поледля параметраИмя документа,Текстовое поледля параметраОписание документа
  • +
+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком и в логике бизнес-процесса определена необходимая переменная процесса task_id, значение которой заполняется перед открытием страницы пользователем. Для добавления на страницу и настройки компоненты Форма необходимо сделать следующее:

+
    + +
  • добавить внутрь страницы компоненту Форма (рис.1)
  • +
  • в настройках добавленной Формы перейти к разделу Подгрузка данных основная - Источник данных - Граф сущностейи настроить его в соответствии с условием задачи (рис.2).
  • +
+

+ +
+
рис.1 Добавление компоненты Форма на страницу    
+рис.2 Настройка Графа сущностей компоненты Форма
+
+ + +

+ +
+
рис.3 Настройка переменной процесса
+
+ +
    + +
  • расположить компоненты для отображения параметровНаименование задачи, Описание задачии настроить их на отображение информации из источника данных (рис.4, рис.5)
  • +
+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+
рис.4 Добавление элемента Наименованиерис.5 Добавление элемента Описание
+
+ +

На этом настройка компоненты Форма для работы с базой данных завершена.

+
    + +
  • добавить внутрь только что сконфигурированной компоненты Форма (рис.1) сложный компонент “Пополняемый список зависимых записей” (рис. 6):
  • +
+


+рис.6 Добавление компоненты Пополняемый список зависимых записей

+
    + +
  • перейти к элементу Редактируемая таблица и настроить все реквизиты параметра “Пополняемый список зависимых записей”. Подгрузка данных (рис.7, рис.8, рис.9)
  • +
+

рис.7 Настройка параметра “Пополняемый список зависимых записей”. Подгрузка данных

+

**
+**

+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+ +

+ +

Таблицы Список задач и Вложенные документы связаны по колонке task_id, при этом для таблицы "Список задач" (главная сущность компоненты Форма всей страницы) колонка task_id является первичным ключом, а для таблицы "Вложенные документы" (основная сущность элемента Редактируемая таблица сложной компоненты) колонка task_id является ссылочной колонкой на таблицу Список задач (внешним ключом).

+
рис. 8 Формирование Графа сущности элемента Редактируемая таблица +

рис. 9 Настройка взаимосвязей таблиц

+
+ +
    + +
  • оставаясь в элементе Редактируемая таблица так же настроить параметрТаблица. Настроить колонки таблицы (рис. 10)
  • +
+

рис.10 Настройка параметраТаблица. Настроить колонки таблицы

+
    + +
  • перейти к элементу Форма в сложном компоненте и, ничего не меняя в настройках, разместить внутри этого элементакомпоненты для работы с полямиНаименование документа, Описание документа (рис. 11)****
  • +
+

+

рис. 11 Размещение компонент в элементе Форма

+
    + +
  • + +

    настроить только что добавленные текстовые компоненты Наименование документа, Описание документана работу с источником данных, указанным в графе сущности элемента Редактируемая таблица (рис. 12, рис. 13)

    + +
    + + + + + + + + + + + + + + + + + + +
    +
    + +

    +
    +
    + +

    +
    рис.12 Настройка компоненты Наименование документарис.13 Настройка компоненты Описание документа
    +
    +
  • +
  • + +

    Для создания новой записи (INSERT) или изменения имеющихся значений (UPDATE), необходимо добавить на страницу компоненту Кнопка сохранения и указать этой кнопке наФорму, согласно Графу сущностей которой следуют провести операцию добавления новой записи или обновления существующей информации после нажатия на кнопку (рис.14)

    +
  • +
+ +
+ + + + + + + + + + + + + + +
+
+ +


+

+
+

рис.14 Настройка элемента Кнопка сохранения

+ +

Заполнение параметра Компонент "Форма" Кнопки сохранения происходит путем перетаскивания манипулятором мышь объекта "Основная Форма страницы " из дерева структуры страницы в окно параметра Компонент "Форма" Кнопки сохранения (как показано стрелкой на скриншоте).

+ +

Также существует удобная функциональность обратного быстрого перехода по дереву структуры страницы к задействованной компоненте посредством клика на параметре Компонент "Форма" Кнопки сохранения, когда есть необходимость уточнить, на какую именно компоненту в дереве ссылается интересующий параметр.

+
+ +

В результате выполнения указанной последовательности действий и запуска приложения, интерфейс экранной формы примет следующий вид :

+

+ +
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Список_зависимых_записей_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Список_зависимых_записей_.html new file mode 100644 index 0000000..37806aa --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Список_зависимых_записей_.html @@ -0,0 +1,165 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Список зависимых записей? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту Список зависимых записей?

+

Постановка задачи: на пользовательской странице Направление на испытание АП (алкогольной продукции), где уже располагаются все необходимые атрибуты (дата направления, инспектор, количество образцов на испытание и другие поля) необходимо реализовать возможность добавления пользователем дополнительных видов испытаний (одного или нескольких) продукции из заранее сформированного перечня, предлагаемого в виде списка из которого можно включать или исключать необходимую запись(и). Данная возможность должна быть реализована с помощью элемента Список зависимых записей, иерархически вложенного и зависящего от основной компоненты Форма на текущей странице.

+

При открытии страницы Направление на испытание АПна редактирование, согласно сохраненным ссылкам между записями, интерфейс системы должен отобразить не только параметры самого направления (дату направления, лабораторию, количество образцов на испытание и др.), но и список связанных с ним дополнительных испытаний на проверку АП, ранее выбранных и сохранённых пользователем при формировании данного направления в системе.

+

Список зависимых записей(список дополнительных испытаний АП) должен иметь следующие настройки:

+
    + +
  • элемент Список зависимых записей должен располагаться внутриосновной компоненты Форма на текущей странице, для того чтобы данные отобранные с помощью этой компоненты,сохранялись считывались из/в базу данных;
  • +
  • в Граф сущностейв качестве Главной сущности основной результирующейТаблицы зависимых записей на странице должна быть определена таблица базы данных (справочник испытаний АП) -dic_test, на которую ссылается по ключу таблица связи product_review_request_referral_dic_test (данная таблица необходима, так как является таблицей связи между справочником испытаний dic_test и таблицей базы данных, где хранятся направления на испытания АП -product_review_request_referral, определенной в качестве Главной сущности компонентыФормана странице);
  • +
  • в основной результирующейТаблице зависимых записей на странице должно отображаться наименование выбранного(ых) пользователем дополнительного(ых) испытания(й) АП, то есть должна быть включена колонка Наименование (name) таблицы базы данных Справочник испытаний (dic_test)с отображаемым на странице заголовком Дополнительные испытания;
  • +
  • вГраф сущностейв качестве Главной сущности Таблицы доступных строк для выбора пользователем должна быть определенатаблица базы данных (справочник испытаний АП)-dic_test и в настройках колонок Таблицы должна быть включена колонкаНаименование (name) с отображаемым на странице заголовком Вид испытания;
  • +
  • Связанную таблицу уже выбранных пользователем строк настраивать нет необходимости, поскольку по умолчанию (с помощью уже включенной в базовую конфигурацию функции - Продублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк) дублирует конфигурацию Таблицы доступных строк для выбора.
  • +
+

Решение задачи:

+

Предполагается, что страница Направление на испытание АП уже реализована бизнес-аналитиком, где имеется основная компонента Форма, в структуру сущностей которой в качестве Главной сущности включена таблица базы данных, где хранятся направления на испытания АП-product_review_request_referral (рис.1), на которую будет ссылаться основная Таблица компоненты Список зависимых записей, что позволит сохранять/подгружать значения из/в базы данных, отобранные с помощью этой компоненты.

+

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

+
    + +
  • добавить внутрь Формы компоненту Список зависимых записей и для удобства переименовать ее, например как, Дополнительные испытания (рис.2);
  • +
+


+

+ +
+
рис.1 Редактор структуры сущностей основной компоненты Форма           
+рис.2 Добавление компоненты Список зависимых записей внутрь Формы  
+
+ +
    + +
  • настроить в соответствии с условиемзадачи основную Связанную таблицу зависимых записей (в списке компонент, входящих в структуру Списка зависимых записей, находится первой по очередности над Кнопкой “Изменить”). +
      + +
    • в Граф сущностей настраиваемого элемента необходимо включить две таблицы базы данных: Справочник испытаний АП -dic_test (главная сущность) и таблица связи между справочником испытаний и направлением на испытаниеАП -product_review_request_referral_dic_test (рис.3).
    • +
    • в свойстве компоненты Таблица. Настроить колонки таблицы необходимо указать колонку Наименование (name) таблицы базы данных dic_test (рис.4)
    • +
    • в свойстве компонентыСписок зависимых записей. Взаимосвязи таблиц производим следующие настройки (рис.4):
      +> Колонка, ссылающаяся на таблицу “доступных”-указывается колонка dic_test_id таблицы базы данныхproduct_review_request_referral_dic_test, включенной в Граф сущностей текущей настраиваемой Связанной таблицы, что обеспечит связь с главной сущностью dic_testТаблицы доступных строк для выбора;
      +>Колонка, ссылающаяся на “основную” таблицу -указывается колонкаproduct_review_request_referral_idтаблицы базы данныхproduct_review_request_referral_dic_test, включенной в Граф сущностей текущей настраиваемой Связанной таблицы, что обеспечит связь с главной таблицей product_review_request_referralв Графе сущностей основной компоненты Форма на странице;
      +>Колонка “основной” таблицы - указывается колонка (первичный ключ) product_review_request_referral_id таблицы базы данныхproduct_review_request_referral, которая определена в качестве главной таблицы в Графе сущностейосновной компонентыФормана странице, на которую ссылается текущаянастраиваемаяСвязанная таблица;
    • +
    +
  • +
+


+*

+ +
+
рис.3 Редактор структуры сущностей Связанной таблицы                 
+рис.4 Настройка колонок таблицы и Взаимосвязи таблиц
+
+ +

настроить в соответствии с условиями задачи Таблицу доступных строк для выбора пользователем(в списке компонент, входящих в структуру Списка зависимых записей, находится первой по очередности внутри элемента Диалог).

+
    + +
  • в Граф сущностейнастраиваемого элемента необходимо включить в качестве Главной сущности таблицу базы данныхСправочник испытаний АП-dic_test(рис.5)
  • +
  • в свойстве компоненты Таблица. Настроить колонки таблицы необходимо указать колонкуНаименование (name)таблицы базы данныхdic_test(рис.6)
  • +
+


+

+ +
+
рис.5 Редактор структуры сущностей Таблицы доступных строк                     
+рис.6 Настройка колонок Таблицы доступных строк  
+
+ +
    + +
  • Связанную таблицууже выбранных пользователем строк (в списке компонент, входящих в структуру Списка зависимых записей, находится после Вертикального контейнера с кнопками действий “Добавить”, “Добавить все”, “Удалить”, “Удалить все” - рис.7) настраивать нет необходимости, поскольку по умолчанию дублирует конфигурацию (настройки) Таблицы доступных строк. Для этого используется функцияПродублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк,включенная в свойства Таблицы доступных строк (рис.8) +

    рис.7 Связанная таблица уже выбранных пользователем строк рис.8 Настройка функции Продублировать конфигурацию текущей таблицы в таблицу выбранных строк

  • +
+ +
    + +
  • настройки Кнопок действий"Добавить", “Добавить все”, “Удалить”, “Удалить все”, используемые для добавления исключения записей в/из Таблицы доступных строк и Связанной таблицы уже выбранных пользователем строк, находящихсявнутрикомпоненты Диалог - оставить неизменными, т.е. по умолчанию заданными.
  • +
  • настройки Кнопок подтверждения и отмены действия “Ок”/“Отмена”, находящихся внутри компоненты Диалог,остаются по умолчанию заданными.
  • +
+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображается основная Таблицазависимых записей - “Дополнительные испытания” с кнопкой “Изменить”(рис.9). По нажатию на кнопку “Изменить” происходит открытие диалогового окна на странице со списком доступных записей для выбора пользователем. В левой части окна отображается список видов дополнительных испытаний АП, в правой части - список выбранных пользователем записей из предложенного справочника (рис.10). Выбор (исключение) записей осуществляется с помощью кнопок"Добавить", “Добавить все”, “Удалить”, “Удалить все”, расположенных в контейнере между Таблицей доступных строк для выбора и Таблицей уже выбранных строк (рис.11). После того, как список необходимых видов испытаний был сформирован пользователем, по нажатию на кнопку подтверждения действий “Выбрать” происходит перенос записей из Таблицы выбранных строк в основную Таблицу зависимых записей на странице (рис.12). Сохранение значений, отобранных с помощью компоненты Список зависимых записей, в таблицу базы данных будет произведено вместе с сохранением основнойФормы на странице по нажатию на кнопку “Сохранить”.

+ +
+
рис.9 Основная таблица зависимых записей на странице                  
+рис.10 Диалоговое окно со списком видов испытаний для выбора
+
+ +


+

+ +
+
рис.11 Добавление (исключение) записей из Таблицы доступных в Таблицу выбранных строк          
+рис.12 Основная таблица зависимых записей с выбранными значениями
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Список_зависимых_записей_поле_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Список_зависимых_записей_поле_.html new file mode 100644 index 0000000..43c97db --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Список_зависимых_записей_поле_.html @@ -0,0 +1,133 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Список зависимых записей (поле)? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту Список зависимых записей (поле)?

+

Постановка задачи: на пользовательской страницеформирования отчетных форм Отчётность, в окне ввода параметров для одного из доступных отчетов (Отчет о состоянии утверждения), необходимо реализовать возможность выбора нескольких Утверждающих, идентификаторы которых будут передаваться в виде массива на вход отчетной формы. Параметр Утверждающие должен позволять выбрать нескольких сотрудников из актуального Справочника сотрудников.

+

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

+
    + +
  • элемент*Список зависимых записей (поле)*должен располагаться внутри окна Параметры отчета (Диалог);
  • +
  • элемент*Список зависимых записей (поле)*должен иметь заголовок Утверждающие и внутри поля должна отображаться подсказка “Выбрать сотрудников”
  • +
  • выбранные значения в Поле с множественным выбором должны отображаться через точку запятой
  • +
  • в диалоговом окне Параметров отчета Поле с множественным выбором не должно быть доступно для управления, выбор сотрудников должен осуществляться только в зависимом диалоговом окне выбора “Выбор утверждающих”
  • +
  • вГрафе сущностейэлемента Поле с множественным выбором в качестве Главной сущностидолжна быть определена таблица базы данных (справочник Сотрудников)-employee.Отображаемым значением пользователю должна быть выбрана колонка employee.name_short_email
  • +
  • вГраф сущностейв качестве Главной сущностиТаблицыдоступных строк для выбора пользователем должна быть определенатаблица базы данных (справочник сотрудников)-employee,на которую ссылается представление базы данных view_admin_employee и связь с которой ограничит список доступных для выбора значений. В настройках колонок Таблицы должна быть включена колонкаФИО (view_admin_employee.name) с отображаемым на странице заголовком ФИО;
  • +
  • Связанную таблицууже выбранных пользователем строк настраивать нет необходимости, поскольку по умолчанию (с помощью уже включенной в базовую конфигурацию функции -Продублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк) дублирует конфигурациюТаблицыдоступных строк для выбора.
  • +
+

Решение задачи:

+

Предполагается, что страницаОтчетность и окно ввода параметров для отчета - компонентаДиалогуже реализована бизнес-аналитиком, с соответствующей логикой для формирования печатнойформысо страницы приложения.

+

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

+

добавить внутрь Диалога (окна параметров отчетной формы) компоненту*Список зависимых записей (поле)*и для удобства переименовать ее, например как,Утверждающие (рис.1)

+

+

рис.1 Добавление компоненты Список зависимых записей (поле) в окно Параметры отчета настроить в соответствии с условиемзадачи Поле множественного выборазависимых записей:

+
    + +
  • в Основных параметрах Поля множественного выбора необходимо заполнить значениями следующие свойства (рис.2): +
      + +
    • Надпись - Утверждающие
    • +
    • Видимость -(Истина)
    • +
    • Недоступно для управления -(Истина)
    • +
    • Разделитель - ;
    • +
    +
  • +
  • в функции Поле с множественным выбором. Подгрузка данных вГраф сущностейнастраиваемого элемента необходимо включитьтаблицу базы данных (справочник Сотрудников)-employee.(рис.3)
  • +
  • в функции Поле с множественным выбором. Подгрузка данных в свойстве “Отображаемая колонка” необходимо указать колонку базы данных ФИО сотрудника -employee.name_short_email (рис.3)
  • +
+

рис.2 Настройка основных параметров компоненты Поле с множественным выбором
+рис.3 Настройка Графа сущностей компоненты Поле с множественным выбором

+

настроить в соответствии с условиями задачиТаблицудоступных строк для выбора пользователем(в списке компонент, входящих в структуру Списка зависимых записей (поле), находится первой по очередности внутри элементаДиалог).

+
    + +
  • в Граф сущностейнастраиваемого элемента необходимо включить в качестве Главной сущности таблицу базы данныхСправочник пользователей -employee ина которую ссылается представление базы данных view_admin_employee(рис.4)
  • +
  • в свойстве компоненты Таблица. Настроить колонки таблицы необходимо указать колонкуФИО (name)таблицы базы данных view_admin_employee(рис.5)
  • +
+

рис.4 Редактор структуры сущностей Таблицы доступных строк
+рис.5 Настройка колонок Таблицы доступных строк

+
    + +
  • Связанную таблицууже выбранных пользователем строк (в списке компонент, входящих в структуру Списка зависимых записей (поле), находится после Вертикального контейнера с кнопками действий"Добавить", “Добавить все”, “Удалить”, “Удалить все”- рис.6)настраивать нет необходимости, поскольку по умолчанию дублирует конфигурацию (настройки)Таблицыдоступных строк. Для этого используется функцияПродублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк,включенная в свойстваТаблицыдоступных строк (рис.7)
  • +
+

рис.6 Связанная таблица уже выбранных пользователем строк
+рис.7 Настройка функции Продублировать конфигурацию текущей таблицы в таблицу выбранных строк

+
    + +
  • настройки Кнопок действий"Добавить", “Добавить все”, “Удалить”, “Удалить все”, используемые для добавления исключения записей в/изТаблицыдоступных строк иСвязанной таблицыуже выбранных пользователем строк, находящихсявнутрикомпонентыДиалог- оставить неизменными, т.е.по умолчанию заданными.
  • +
  • настройки Кнопок подтверждения и отмены действия"Ок"/“Отмена”,находящихся внутри компонентыДиалог,остаютсяпо умолчанию заданными.
  • +
+

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что к окне Параметры отчета добавлено Поле с множественным выбором - Утверждающие с кнопкой вызова диалогового окна выбора значений (рис.8).По нажатию на кнопку “Изменить” происходит открытие диалогового окна на странице со списком доступных записей для выбора пользователем. В левой части окна отображается список сотрудников (утверждающих), в правой части - список выбранных пользователем записей из предложенного справочника (рис.9). Выбор (исключение) записей осуществляется с помощью кнопок “Добавить”, “Добавить все”, “Удалить”, “Удалить все”, расположенных в контейнере между Таблицей доступных строк для выбора иТаблицейуже выбранных строк (рис.10). После того, как список необходимых видов испытаний был сформирован пользователем, по нажатию на кнопку подтверждения действий “Выбрать” происходит перенос записей из Таблицы выбранных строк в Поле множественного выбора, где значения разделены между собой символом точки запятой(рис.11).

+

рис.9 Окно Параметры отчета
+рис.10 Диалоговое окно со списком сотрудников для выбора

+

рис.11 Добавление записей из Таблицы доступных в Таблицу выбранных строк
+рис.12 Отображение результата выбора значений

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Флаг_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Флаг_на_странице_.html new file mode 100644 index 0000000..152bf4f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_задействовать_компоненту_Флаг_на_странице_.html @@ -0,0 +1,135 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Флаг на странице? + + + + + + +
+
+ + + +
+
+

Как задействовать компоненту Флаг на странице?

+

Постановка задачи: на пользовательской странице Карточка задачи, скрыть блоки параметров, касающихся сроков исполнения задачи и задействованных по ней сотрудников. При этом расположить и сделать видимыми компоненты Флаг, с помощьюкоторых можно открыть (cделать видимыми) изначально скрытые блоки.

+

Решение задачи:

+

Предполагается, что страница Карточка задачи уже создана бизнес-аналитиком.

+
    + +
  • Страница содержит блоки “Общие сведения”, “Сроки”, “Действующие лица”, реализованные с использованием компонент Группа полей. Снять с этих компонент параметр “Видимость”, чтобы при первоначальной загрузке страницы блоки “Сроки” и “Действующие лица” были невидимы. (рис.1)
  • +
+

+
    + +
  • в структуру страницы добавить 2 компоненты Флаг (без возможности сохранения), сразу после каждого из блоков “Сроки” и “Действующие лица”. Подобрать наименования для этих компонент, указывающее их назначение. Произвести настройку параметров “Надпись”, “Значение” (выставить FALSE) и “Расширенные настройки”→ “CSS классы” (рис. 2)
  • +
+

+

класс check-invert предписывает расположить сам визуальный значок компоненты перед параметром компоненты “Надпись”

+

класс free-label предписывает не форматировать значение параметра “Надпись”, располагая его свободным текстом после визуального значка компоненты

+
    + +
  • в структуру страницы добавить 2 компоненты Обработка событий для управления событиями и реакцией на них в случае изменения пользователем состояния компонент Флаг, а именно проставления флага или его снятия. Подобрать наименования для этих компонент, указывающее их назначение. Произвести настройку алгоритма реакции на событие. (рис. 3)
  • +
+ +
+ + + + + + + + + + + + + + + + + + +
+
+ +

+
+
+ +

+

+

+
+
+ +

В результате выполнения указанной последовательности действий и запуска приложения, интерфейс экранной формы примет следующий вид:

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_компоненту_Текст_для_отображения_названия_организации_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_компоненту_Текст_для_отображения_названия_организации_на_странице_.html new file mode 100644 index 0000000..08a61c7 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_компоненту_Текст_для_отображения_названия_организации_на_странице_.html @@ -0,0 +1,95 @@ + + + + + + + + Web-BPM Docs – Как использовать компоненту Текст для отображения названия организации на странице? + + + + + + +
+
+ + + +
+
+

Как использовать компоненту Текст для отображения названия организации на странице?

+

Постановка задачи: необходимо реализовать на странице вывода информации об организации элемент Текст (с возможностью сохранения), который будет отображать наименование организации и сохраняться в базу данных, содержащий следующие настройки:

+
    + +
  • надпись поля -Название организации
  • +
  • поле должно иметь подсказку -Наименование организации
  • +
  • значение поля должно подгружаться из переменной процесса organization
  • +
  • сохранение значения должно осуществляться в базу данныхв таблицу organization колонку Организация (legal_entity_id)
  • +
+

Решение задачи:

+

Предполагается, что бизнес процесс и страница вывода информации об организации уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***. Для добавления на страницу и настройки компоненты Текст (с возможностьюсохранения) необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Текст и произвести настройки согласно условию задачи (рис.1)
  • +
  • в функции Заполнить значением из переменной любого типа выбрать переменную процесса, относящуюся к организации****(рис.2)
    +(прим. переменная процесса была создана ранее при создании бизнес процесса)
  • +
  • в функции Сохранение значения необходимо указать таблицу и колонку БД, куда будет сохранена информация об организации (рис.2)
  • +
+

+ +
+
рис.1. Добавление компоненты Текст (с возможностью сохранения) на страницу   
+рис.2. Настройка компоненты Текст (с возможностью сохранения)
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены, как, например, Текст соответствует наименованию организации (рис.3).

+

+

рис.3.Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_текстовое_поле_в_качестве_параметра_для_печатной_формы_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_текстовое_поле_в_качестве_параметра_для_печатной_формы_.html new file mode 100644 index 0000000..14faab5 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_текстовое_поле_в_качестве_параметра_для_печатной_формы_.html @@ -0,0 +1,104 @@ + + + + + + + + Web-BPM Docs – Как использовать текстовое поле в качестве параметра для печатной формы? + + + + + + +
+
+ + + +
+
+

Как использовать текстовое поле в качестве параметра для печатной формы?

+

Постановка задачи: необходимо реализовать на странице вывода информации о департаменте текстовое поле, значение из которого будет использоваться в качестве входного параметра для формирования печатной (отчетной) формы об этом департаменте и будет иметь следующие настройки:

+
    + +
  • надпись поля -Название департамента
  • +
  • обязательно для заполнения пользователем приложения
  • +
  • ввод текста в поле должен осуществляться с использованиемтипа регистра -Первая буква-заглавная,то есть каждое новое слово в поле будет начинаться с заглавной буквы
  • +
  • поле должно иметь подсказку -Введите название департамента
  • +
  • к полю должны быть применены CSS-классы: фиксированный заголовок (fixed-label)
  • +
+

Решение задачи:

+

Предполагается, что страница вывода информации о департаменте уже создана бизнес-аналитиком, где имеется ***основная компонента Вертикальный контейнер***, куда включена и ссылается компонента Кнопка печати отчета из формы. Для добавления на страницу и настройки текстового поля в качестве параметра для печатной формы необходимо сделать следующее:

+
    + +
  • добавить внутрь Вертикального контейнера компоненту Текстовое поле, отключив у нее функцию Текстовое поле. Сохранения значения, поскольку в данном случае сохранения значения и подгрузки его из базы данных происходить не будет, значение будет вводиться пользователем на странице. Далее произвести настройкисогласно условию задачи (рис.1)
  • +
  • в компоненте Кнопка печати отчета из формы в качестве входного параметра указать созданное Текстовое поле (рис.2)
  • +
+

+ +
+
рис.1. Добавление текстового поля на страницу и настройка               
+рис.2. Настройка кнопки печати отчета с использованием текстового поля
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены, как, например, текстовое поле обязательно для заполнения (рис.3) и каждое новое слово вводимого значения в поле автоматически начинается с Заглавной буквы (рис.4).

+

+ +
+
рис.3. Визуальное отображение условия обязательности поля     
+рис.4. Визуальное отображение выполнения условия: тип регистра Первая буква - заглавная
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_текстовое_поле_для_настройки_видимости_других_элементов_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_текстовое_поле_для_настройки_видимости_других_элементов_на_странице_.html new file mode 100644 index 0000000..9110fbc --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_использовать_текстовое_поле_для_настройки_видимости_других_элементов_на_странице_.html @@ -0,0 +1,137 @@ + + + + + + + + Web-BPM Docs – Как использовать текстовое поле для настройки видимости других элементов на странице? + + + + + + +
+
+ + + +
+
+

Как использовать текстовое поле для настройки видимости других элементов на странице?

+

Постановка задачи: необходимо в зависимости от того, каким из возможных значений переменной процесса create_available, заполнилось по умолчанию скрытое Текстовое поле, отображать на странице Вывода предупреждения пользователю три варианта сообщения с помощью компоненты Текст:

+
    + +
  1. Невозможно создать документ. Выбранные партии соответствуют разным наименованиям ассортимента (когда значение переменной равно assort)
  2. +
  3. Невозможно создать документ. Одна или несколько из выбранных партий уже содержаться в ранее созданных свидетельствах и соответствуют разным наименованиям ассортимента(когда значение переменной равно certificate)
  4. +
  5. Невозможно создать документ. Одна или несколько из выбранных партий уже содержаться в ранее созданных решениях о невыдаче и соответствуют разным наименованиям ассортимента(когда значение переменной равно denial_decision)
  6. +
+

На странице Вывода предупреждения пользователю также должно быть реализовано:

+
    + +
  • видимый по умолчанию элемент Текст с примененным CSS-классом: title (заголовок), который будет служить заголовком страницы и содержать в себе статичный текст -Внимание!
  • +
  • кнопка навигации, по которой будет осуществляться Выход со страницы по значению registr_part
  • +
+

Решение задачи:

+

Предполагается, что страница Вывода предупреждения пользователю уже создана бизнес-аналитиком в проекте, как и переменная процесса create_available, имеющая тип строка и значение которой заполняется с помощьюОбработчика, выполняющего SQL-запрос перед открытием страницы. Для настройки Текстового поля и отображения информации на странице в соответствии с условиями задачи необходимо сделать следующее:

+
    + +
  • добавить видимый элемент Текст, который будет служить заголовком страницы и настроить его согласно условию задачи (рис.1)
  • +
  • добавить скрытое Текстовое поле (можно назвать его как create_available), значение которого будет заполняться из переменной процесса create_available (рис.2)
  • +
  • добавить кнопку навигации, по нажатию на которую будет осуществляться Выход со страницы и следующий переход по бизнес-процессу (рис.3)
  • +
+

+ +
+
        рис.1 Настройка заголовка страницы    
+        рис.2 Настройка скрытого Текстового поля          
+        рис.3 Настройка кнопки навигации
+
+ +
    + +
  • + +

    добавить три скрытых по умолчанию компоненты Текст, которые будут содержать в себе сообщения для пользователя (рис.4, рис.5, рис.6)

    + +
    +
    рис.4 Настройка первого сообщения пользователю   
    +рис.5 Настройка второго сообщения пользователю       
    +рис.6 Настройка третьего сообщения пользователю
    +
    +
  • +
  • + +

    добавить три Обработчика событий, которые в зависимости от значения Текстового поля будут отображать статичные сообщения пользователю (рис.7, рис.8, рис.9)

    +
  • +
+

+ +
+
    рис.7 Настройка обработчика событий для 1-го условия     
+    рис.8 Настройка обработчика событий для 2-го условия      
+    рис.9 Настройка обработчика событий для 3-го условия
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и сообщения пользователю на странице Вывода предупреждения отображаются корректно (рис.10, рис.11).

+

+ +
+
рис.10 Визуальное отображение вывода первого варианта предупреждения пользователю   
+рис.11 Визуальное отображение вывода второго варианта предупреждения пользователю
+
+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_отобразить_название_организации_текстом.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_отобразить_название_организации_текстом.html new file mode 100644 index 0000000..7f883a4 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Как_отобразить_название_организации_текстом.html @@ -0,0 +1,95 @@ + + + + + + + + Web-BPM Docs – Как использовать компоненту Текст для отображения названия организации на странице? + + + + + + +
+
+ + + +
+
+

Как использовать компоненту Текст для отображения названия организации на странице?

+

Постановка задачи: необходимо реализовать на странице вывода информации об организации элемент Текст (с возможностью сохранения), который будет отображать наименование организации и сохраняться в базу данных, содержащий следующие настройки:

+
    + +
  • надпись поля -Название организации
  • +
  • поле должно иметь подсказку -Наименование организации
  • +
  • значение поля должно подгружаться из переменной процесса organization
  • +
  • сохранение значения должно осуществляться в базу данныхв таблицу organization колонку Организация (legal_entity_id)
  • +
+

Решение задачи:

+

Предполагается, что бизнес процесс и страница вывода информации об организации уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***. Для добавления на страницу и настройки компоненты Текст (с возможностьюсохранения) необходимо сделать следующее:

+
    + +
  • добавить внутрь Формы компоненту Текст и произвести настройки согласно условию задачи (рис.1)
  • +
  • в функции Заполнить значением из переменной любого типа выбрать переменную процесса, относящуюся к организации****(рис.2)
    +(прим. переменная процесса была создана ранее при создании бизнес процесса)
  • +
  • в функции Сохранение значения необходимо указать таблицу и колонку БД, куда будет сохранена информация об организации (рис.2)
  • +
+

+ +
+
рис.1. Добавление компоненты Текст (с возможностью сохранения) на страницу   
+рис.2. Настройка компоненты Текст (с возможностью сохранения)
+
+ +

Результат выполнения задачи:

+

После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены, как, например, Текст соответствует наименованию организации (рис.3).

+

+

рис.3.Визуальное отображение выполнения условий задачи

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Многострочное_поле.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Многострочное_поле.html new file mode 100644 index 0000000..564a280 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Многострочное_поле.html @@ -0,0 +1,213 @@ + + + + + + + + Web-BPM Docs – Многострочное поле + + + + + + +
+
+ + + +
+
+

Многострочное поле

+

Назначение

+

Многострочное поле - это компонента, которая используетсядля ввода и отображения нескольких строк текста. В таком текстовом поле допустимо делать переносы строк.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Многострочное полеможет использовать для:

+
    + +
  • Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Поле многострочного ввода. Сохранение значения должно быть включена).
  • +
  • Для отображения текста, который был введен пользователем приложения или является константой, определённой в логике приложения (в данном случае, функция компоненты Поле многострочного ввода. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке).
  • +
+

Компонента Многострочное поле находится в разделе Компоненты - Поля - Многострочное поле.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите название организации
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Наименование организации
Значение позволяет задать значение поля по умолчанию пример возможного значения: ООО “Форт”
Максимальная длина задаёт максимальное количество вводимых символов в поле пример возможного значения: 10
Минимальная длина (Min length) задаёт минимальное количество вводимых символов в поле
allowMoreSymbols при true позволяет пользователю ввести больше символов, чем значение максимальной длины, но при этом поле станет невалидным и будет отображено сообщение об ошибке maxLengthErrorMsg (см. документацию) логическое значение (true, false)
Оперировать немаскированным значением позволяет регулировать возможность ввода текста в соответствии с маской, даже если маска задана (значение маски указывается в расширенных настройках в поле “маска, ограничивающая ввод”) +
    +
  • значение не определено - по умолчанию
  • +
  • активно - сохранять без форматирования маской
  • +
  • пустое - сохранять с форматированием маской
Маска позволяет задать маску, в соответствии с которой пользователь будет осуществлять ввод текста выставление маски не может обеспечить выполнение требования обязательности ввода, маска только внешне отфильтровывает и форматирует последовательность вводимых пользователем символов заранее заданным образом (например, ввод тел. номера “+ 7 (917) - 101 - 02 - 03” вместо “8917010203” или не допустит такого ввода “89170102АЯ”). Для блокирования сохранения записи с пустым значением поля и обеспечения контроля обязательности ввода используйте свойство “Обязательность”
Регистр позволяет задать вид регистра вводимого текста +
    +
  • в верхнем регистре - заглавные (прописные) буквы
  • +
  • в нижнем регистре - строчные (маленькие) буквы
  • +
  • первая буква каждого слова заглавная
  • +
  • только первая буква текста заглавная, остальные строчные
  • +
  • первая буква текста заглавная
Тип позволяет задать тип вводимого текста +
    +
  • обычный текст
  • +
  • пароль (заполнитель - звездочки)
  • +
  • электронная почта
  • +
  • URL
Регулярное выражение или Pattern позволяет задать проверку вводимого текста с помощью регулярных выражений поля, для которых не выполняются условия заданных регулярных выражений, при сохранении записи подсвечиваются красным оттенком и операция отменяется.
patterErrorMsg, maxLengthErrorMsg, minLengthErrorMsg позволяют задать пользовательское сообщение о соответствующих ошибках валидации строка
+

Примеры масок:

+
    + +
  • A (буква, латинская, регистр не имеет значения) в маске - позволит ввести в поле одну любую букву любого алфавита
  • +
  • Б (буква, русская, в верхнем регистре) в маске - позволит ввести в поле одну любую букву русского алфавита
  • +
  • 9 (цифра) в маске - позволит ввести в поле одну любую цифру
  • +
  • * (символ) в маске - позволит ввести в поле одну любую цифру или букву
  • +
  • R (буква, латинская, в верхнем регистре) в маске - позволит ввести в поле одну римскую цифру
  • +
  • ? (символ) в маске - позволит ввести или опустить при вводе в поле один необязательный символ (букву, цифру) ,например 999?9; под эту маску подходит как 123, так и 1234
  • +
+

Например, необходимо задать форматирование ввода маской для значения Й456QЬ. В данном случае маска будет выглядеть следующим образом: А999АА, где А - латинская буква.

+

Некоторые типовые регулярные выражения:

+
    + +
  • \d [0-9] - одна цифра от 0 до 9
  • +
  • \D [^0-9] - любой символ кроме цифры
  • +
  • \s - пробел
  • +
  • [A-Z] - только заглавная латинская буква
  • +
  • [A-Za-z] - только латинская буква в любом регистре
  • +
  • [А-Яа-яЁё] - только русская буква в любом регистре
  • +
  • [A-Za-zА-Яа-яЁё] - любая буква русского и латинского алфавита
  • +
  • [0-9]{3} - три цифры
  • +
  • [A-Za-z]{6,} - не менее шести латинских букв
  • +
  • [0-9]{,3} - не более трёх цифр
  • +
  • [0-9]{5,10} - от пяти до десяти цифр
  • +
  • ^[a-zA-Z]+$ - любое слово на латинице
  • +
  • ^[А-Яа-яЁё\s]+$ - любое слово на русском включая пробелы
  • +
  • ^[ 0-9]+$ - любое число
  • +
+

Например, чтобы ограничить возможность ввода и сохранения текста латиницей, можно использовать регулярное выражение ^[А-Яа-яЁё\s]+$

+

Свойство Поле многострочного ввода. Сохранение значения

+

+

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

+

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Склеить несколько значений

+

Склеить несколько значений

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Поле многострочного вводаот компоненты Текст? Компонента Поле многострочного ввода используются для отображения многострочного текста на странице, где предусмотрены переносы строк.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Поле многострочного ввода. Сохранение значения? Да. В случае, если функция “Поле многострочного ввода. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
Можно ли ограничить перенос строки по нажатию на клавишу Enter в Многострочном поле? Чаще всего подобногорода задачи решаются использованием Маски в свойствах элемента. Для того, чтобы ограничить перенос строки по нажатию на клавишу Enter в Многострочном поле необходимо в Расширенных настройках в свойстве Маска указать значение[^\r\n]* и перевести значение флага regexMask =true
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Настройка_взаимозависимых_полей_с_подбором_значения.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Настройка_взаимозависимых_полей_с_подбором_значения.html new file mode 100644 index 0000000..485e41b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Настройка_взаимозависимых_полей_с_подбором_значения.html @@ -0,0 +1,88 @@ + + + + + + + + Web-BPM Docs – Настройка взаимозависимых полей с подбором значения + + + + + + +
+
+ + + +
+
+

Настройка взаимозависимых полей с подбором значения

+

Дано: два поля City (Город), District (Район). Сущности: country, city, country_city.

+

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

+

Решение:

+
    + +
  1. + +

    Задать сущность для поля City (Autocomplete Service - Load Dao) - выбрать city. Настроить свойства поля:

    +
  2. +
  3. + +

    Задать сущности для поля District (Autocomplete Service - Load Dao) -country, city,country_city. Настроить связи между ними:
    +2.1. Тянем стрелки от country_city к country и city.
    +2.2. Выделяем стрелку, нажимаем кнопку “Элемент”, выбираем исходящую и входящую колонки.

    +
  4. +
  5. + +

    Настроить остальные свойства поля District:
    +3.1. Задать родителя (City) - drag&drop City в свойство Parent Control поля District.
    +3.2. Выставить значения Parent Control Reference - city, city_id.
    +3.3. Настроить оставшиеся свойства, в т.ч. Column For Sort, Display Column.

    +
  6. +
+

Результат: в поле Город выбрали Казань. В поле район можно выбирать только казанские районы, в данном случае Вахитовский.

+ +
+
+

Attachments:

+
+ +
+ +

city-attr.JPG (image/jpeg)
+ relations-1.JPG (image/jpeg)
+ relations-2.JPG (image/jpeg)
+ district-attr.JPG (image/jpeg)
+ dependents_autocomplete.JPG (image/jpeg)

+
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Переключатель.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Переключатель.html new file mode 100644 index 0000000..d5173b1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Переключатель.html @@ -0,0 +1,152 @@ + + + + + + + + Web-BPM Docs – Переключатель + + + + + + +
+
+ + + +
+
+

Переключатель

+

Назначение

+

Переключатель - это компонента, которая используется для выбора одного из нескольких предоставленных вариантов.Значения берутся из базы данных,а не вводятся вручную.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Переключатель может использоваться для:

+
    + +
  1. Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Переключатель. Сохранение значения должна быть включена)
  2. +
  3. Для отображения значений,которые были введены пользователем приложенияили являются константой, определённой в логике приложения (в данном случае, функция компоненты Дата. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Переключатель находится в разделе Компоненты - Поля - Переключатель.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента. Данное свойство не применимо с логикой отображения поля на странице приложения
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Статусы
+

Свойство Переключатель. Подгрузка данных

+

+

Позволяет задать источник подгрузки/сохранения данных в компоненту из/в объекта базы данных (таблицы или представления) с указанием следующих дополнительных настроек:

+
    + +
  • Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей. Является обязательным к заполнению и настройке.
  • +
  • Возвращать значение дополнительно из - по умолчанию компонента возвращает идентификатор записи выбранной из справочника значений. Настройка данного параметра позволяет указать компоненте, какое значение необходимо дополнительно считать и вернуть, кроме значения идентификатора выбранной пользователем записи.
  • +
  • + +

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

    +
  • +
  • + +

    Порядок сортировки - позволяет задать порядок сортировки отображаемых значений в списке для выбора, принимает значения:

    +
      + +
    • по возрастанию- значения будут сортироваться от меньшего к большему
    • +
    • по убыванию- значения будут сортироваться от большего к меньшему
    • +
    +
  • +
  • + +

    Колонка сортировки - позволяет задать колонку базы данных, по которой будет производиться сортировка

    +
  • +
+

Пример возможной настройки:

+

+

Свойство Переключатель. Сохранение значения

+

+

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

+

В случае, если значение поля Переключатель не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется для отображения значения, которое было введено пользователем приложения или является константой, определённой в логике приложения.

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений,- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Статичный переключатель от компоненты Переключатель? Компонента Статичный переключательиспользуются для выбора значений, которые вводятся аналитиком при настройке компоненты,Переключательиспользуется для выбора значений,которые берутся из базы данных.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Переключатель. Сохранение значения? Да. В случае, если функция “Переключатель. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Поле_ввода_с_подбором_значения.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Поле_ввода_с_подбором_значения.html new file mode 100644 index 0000000..bfaec12 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Поле_ввода_с_подбором_значения.html @@ -0,0 +1,201 @@ + + + + + + + + Web-BPM Docs – Поле ввода с подбором значения + + + + + + +
+
+ + + +
+
+

Поле ввода с подбором значения

+

Назначение

+

Поле ввода с подбором значения - это компонента, которая визуально выглядит как обычное поле ввода, но по мере набора пользователем символов с клавиатуры подбирает, отображая возможные варианты, значений из подключенного справочника, при этом функционируя уже как компонента Выпадающий список.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Поле ввода с подбором значения может использоваться для:

+
    + +
  1. Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Поле ввода с подбором значения. Сохранение значения должна быть включена)
  2. +
  3. Для отображения данных, которые были введены пользователем приложения или является константой, определённой в логике приложения(в данном случае, функция компоненты Поле ввода с подбором значения. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Поле ввода с подбором значения находится в разделе Компоненты - Поля - Поиск.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Район
Зависит от позволяет указать объект (родителя), например Выпадающий список, по идентификатору которого будут отображаться сведения в текущем зависимом элементе
Начать подбор вариантов после ввода позволяет задать количество символов, после ввода которых пользователем, компонента начинает подбор и вывод вариантов, соответствующих уже введенной пользователем подстроке пример возможного значения: 3
Прикрепить значение (Scroll Gravity) позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений +
    +
  • По умолчанию (DEFAULT) - выбранное значение отображается в порядке своего следования в списке доступных значений для выбора
  • +
  • По центру (CENTER) - выбранное значение отображается по центру в выпадающем списке доступных значений для выбора
  • +
  • В верхней части (TOP)- выбранное значение отображается в верхней части выпадающего списка доступных значений для выбора
  • +
  • В нижней части (BOTTOM) - выбранное значение отображается в нижней части выпадающего списка доступных значений для выбора
Исключить условия графа данное свойство позволяет подгружать для отображения значения в поле минуя условия (ограничения), заданные в Графе сущностей компоненты +
    +
  • Не активно - в данном состоянии, при подгрузке значений отсекаются значения не соответствующие условиям, заданным в Графе сущностей компоненты
  • +
  • Активно - в данном состоянии, при подгрузке значений допускается отображение значений, не соответствующих условиям, заданным в Графе сущностей компоненты, но без возможности их повторного выбора в выпадающем списке
Помечать невалидным (Mark invalid if not Satisfy) данное свойство доступно для управления при активации значении свойства Exclude Graph Conditions и позволяет визуально помечать поле как невалидное на странице, в случае если в него было подгружено значение, не соответствующие условиям Графа сущностей элемента +
    +
  • Не активно - в данном значении, поле не помечается на странице как невалидное и отображается стандартным образом
  • +
  • Активно - в данном значении, убрав фокус с поля, оно помечается на странице как невалидное
Css class if not Satisfy данное свойство доступно для управления при активном значении свойства Exclude Graph Conditions и позволяет задать CSS-класс, который будет применяться, в случае если в поле было подгружено значение, не соответствующие условиям Графа сущностей элемента
Tooltip if not Satisfy позволяет отображать всплывающую подсказку,в случае если в поле было подгружено значение, не соответствующие условиям Графа сущностей элемента. Данное свойство доступно для управления при: активном значении свойства Exclude Graph Conditions и заданному значению в поле Css Class If Not Satisfy пример возможного значения: not_valid
+

Свойство компоненты: Поле ввода с подбором значения. Сохранение значения

+

+

указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение

+

+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен **перечень функций, расширяющих её базовую функциональность,**которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить_роли_текущего_пользователя

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Сконвертировать значение в целочисленный тип

+

Сконвертировать значение в целочисленный тип

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Поле ввода с подбором значения от компоненты Выпадающий список? Поле ввода с подбором значения отличается от компоненты Выпадающий список тем, что не показывает и не подгружает сразу все строки из справочника, но по мере ввода пользователем подстроки предлагает всё более усеченный список вариантов, выводя только релевантные уже введенной подстроке значения.
Значение какого типа возвращает компонента? В общем случае может быть любым (чаще всего целочисленным или строковым).Тип возвращаемого компонентойзначения определяется выбором аналитиком метода, который возвращает значение, а также типом колонки в базе данных.
+

Метод “Получить значение” возвращает первичный ключ и тип такого значения зависит от типа колонки первичного ключа в базе данных (обычно целочисленный bigint).

+

Метод"Задать значение" выставляет в компоненте значение, соответствующее значению в колонке с первичным ключом.

+

Метод “Получить значение BusinessId” возвращает значение колонки, заданной в параметре компоненты “Возвращать значение доп.колонки(BusinessId)” и определяется типом этой колонки в базе данных.

+

Метод “Задать значение поBusinessId” выставляет в компонентезначение, соответствующее значению в колонке, указанной в параметре компоненты"Возвращать значение доп.колонки(BusinessId)".

+

В этом примере функции “Получить значение” и “Задать значение” работаю следующим образом:

+ + + + + + + + + + + + + + + + + + + + + +
Функция в обработчике событий Пример использования
Получить значение BusinessId +
    +
  1. Пользователь выбрал значение на форме из справочника
  2. +
  3. Для выбранной пользователем записи значение из колонки, которая указана в параметре Возвращать значение доп. колонки (BusinessId), возвращается значение
Пример: Для справочника статусов задачи для BusinessId указана дополнительная колонка CODE. Значение этой колонки будет возвращено этой функцией при выборе пользователя.
Получить значение +
    +
  1. Пользователь выбрал значение на форме из справочника
  2. +
  3. Для выбранной пользователем записи значение из колонки, которая указана как первичный ключ, возвращается значение
Пример: Для справочника статусов задачи для первичного ключа указана колонка STATUS_ID. Значение этой колонки будет возвращено этой функцией при выборе пользователя.
Задать значение BusinessId +
    +
  1. Аналитик выбрал значение из справочника для отображения в поле по умолчанию. Выбор выполнен через дополнительное поле BusinessId, а точнее с помощью CODE. Для этого с помощью функции Задать значение указывается квалификатор (статичное), тип значения (строка) и само значение (например, “ЗАДАЧА ЗАВЕРШЕНА”)
  2. +
  3. Обработчик события загрузки формы вызывает функцию задания значения
  4. +
  5. Поле ввода автоматически по заданному CODE = “ЗАДАЧА ЗАВЕРШЕНА”; находит единственную запись в справочнике и отображает пользователю как значение по умолчанию
Задать значение +
    +
  1. Аналитик выбрал значение из справочника для отображения в поле по умолчанию. Выбор выполнен через первичный ключ, а точнее с помощью STATUS_ID. Для этого с помощью функции “Задать значение” указывается квалификатор (статичное), тип значения (целое число) и само значение (например, “123”)
  2. +
  3. Обработчик события загрузки формы вызывает функцию задания значения
  4. +
  5. Поле ввода автоматически по заданному STATUS_ID = 123 находит единственную запись в справочнике и отображает пользователю как значение по умолчанию
+

Дополнительная функция “Сконвертировать значение в целочисленный тип” как раз используется для явной конвертации возвращаемого компонентой неопределенного типа (ANY) в явно желаемый Integer (например, при присвоении идентификатора строки выбранного в компоненте значения какой-либо переменной целого типа на странице).

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Пополняемый_список_зависимых_записей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Пополняемый_список_зависимых_записей.html new file mode 100644 index 0000000..844f287 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Пополняемый_список_зависимых_записей.html @@ -0,0 +1,449 @@ + + + + + + + + Web-BPM Docs – Пополняемый список зависимых записей + + + + + + +
+
+ + + +
+
+

Пополняемый список зависимых записей

+

Назначение

+

Пополняемый список зависимых записей - это составной компонент, которыйиспользуется для выполнения на одной web-странице двух последовательных действий - добавления одной или нескольких новых строк в зависимую (от главной сущности компоненты Форма на текущей странице) таблицу и последующую взаимосвязь (линкование) каждой из вновь добавленных в зависимую таблицу строкс главной сущностьюкомпоненты Форма на текущей странице. Примером такого использования может служить необходимость прикрепления сразу нескольких сканированных документов (т.е. добавление набора файлов с атрибутами имя файла, описание, размер и т.д. в виде отдельных строк взависимую таблицу “Вложения”) к какой-то одной заявке (является главной сущностью компоненты Форма основной страницы, на которой находится пользователь).

+

Если web-страница открывается в режиме просмотра/изменения, то компонента отображает и позволяет внести изменения в список ранее уже связанных записей зависимой таблицы с главной сущностью компоненты Форма.

+

Для того, чтобы сформированные в этой компоненте строки сохранялись/считывались из/в базу данных, Пополняемый список зависимых записей следует по иерархии расположить внутри компоненты Форма.

+

Работа с компонентой осуществляется в следующей последовательности:

+
    + +
  • нажатие кнопки создать (изменить) в панели кнопок компоненты (в составе компоненты находится над элементом Редактируемая таблица)
  • +
  • в открывшемся экранном интерфейсе (элемент компоненты Диалог) ввести атрибуты создаваемой (изменяемой) записи
  • +
  • сохранение записи в элемент “Редактируемая таблица” компоненты Пополняемый список зависимых записей по нажатию на кнопку “Ок”
  • +
  • сохранение всей карточки главной сущностикомпоненты Форма, при котором осуществляется взаимопривязка (линкование) каждой записи из элемента “Редактируемая таблица” к главной сущности экранного интерфейса
  • +
+

Компонента Пополняемый список зависимых записей находится в разделе Компоненты - Сложные - Пополняемый список зависимых записей.

+

Структура компоненты Пополняемый список зависимых записей представлена набором простых компонентов, связанных между собой заранее определенными алгоритмами, и в нее входят следующие элементы (рис.2)

+

Структура

+

Основные вложенные элементы компоненты “Пополняемый список зависимых записей”(табл.1)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование элемента Описание
Пополняемый список зависимых записей Корневой контейнер вертикального выравнивания компоненты, в который по иерархии вложены все дочерние компоненты. основные параметры элемента “Список зависимых записей”
Кнопка создать используется для открытия (вызова) диалогового окна с экранным интерфейсом для ввода атрибутов записи, которую необходимо добавить в связанную таблицу
Кнопка редактировать используется для открытия (вызова) диалогового окна с экранным интерфейсом для изменения атрибутов записи, которую необходимо добавить в связанную таблицу
Кнопка Удалить используется для удаления ранее уже связанной записи в зависимой таблице
Редактируемая таблица используется для отображения строк в зависимой таблице, которые уже связаны с главной сущностью компоненты Форма
Диалог используется для отображения всплывающего диалогового окна, позволяющего ввести или изменить атрибуты зависимой записи
Форма компонента - контейнер используется для наполнения её простыми компонентами, которые позволят пользователю ввести значения атрибутов зависимой записи (при добавлении или изменении)
Кнопка Сохранение используется для сохранения введенных пользователем в поля формы значений атрибутов зависимой записи
Кнопка Отмены используется для отмены ввода значений атрибутов зависимой записи и закрывает Диалог
+

Свойства

+

Компонента имеет набор общих свойств.

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Вертикальный контейнер

+

Базовые функции элемента “Пополняемый список зависимых записей”

+

Заполнить значением по умолчанию

+

Основные параметры элемента Редактируемая таблица

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов +
  • Не активно - не отображать колонку флагов
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Форма ввода и сохранения зависимых записей Позволяет указать (методом DragAndDrop) ссылку на элемент Пополняемый список зависимых записей - Форма. В текущем компоненте, в которой будут вводиться атрибуты записей для последующей вставки в зависимую таблицу (или отображаться уже сохраненные при открытии в режиме просмотра) По умолчанию уже заполнена соответствующей ссылкой на этот элемент
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах: No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
+

Свойство компоненты: “Пополняемый список зависимых записей”. Подгрузка данных

+

+

позволяет задать граф сущностей для подгрузки данных в Таблицу. Является обязательным к заполнению и настройке.

+

Особенностью данной настройки является обязательная необходимость указания колонок, по которым связаны таблица, в которую добавляются зависимые записи (в примере - “Вложенные документы задачи”), и таблица главной сущности компоненты Форма (в примере - “Список задач”)

+

С описанием настройки Графа сущностей для Таблицы можно ознакомиться в разделе: Настройка Графа сущностей

+

Свойство компоненты: Таблица. Настроить колонки таблицы

+

+

позволяет настроить колонки (набор , порядок следования, сортировка) в Таблице

+

Отображает новые записи, добавляемые пользователем с использованием компоненты Пополняемый список зависимых записей

+

с описанием настройки Колонок Таблицы можно ознакомиться в разделе:

+

Настройка колонок Таблицы

+

Свойство компоненты: Активировать кнопку после выбора строки в таблице

+

+

Автоматически переводит кнопки “Редактировать”, “Удалить” в кликабельное состояние после выбора строки в Редактируемой таблице.

+

Если ни одна строка в Редактируемой таблице не выбрана, то кнопки не могут быть нажаты пользователем.

+

Базовые функции элемента “Редактируемая таблица”

+

Заполнить значением по умолчанию

+

Основные параметры элемента Кнопка “Создать”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет создать надпись на кнопке Создать - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет
+

Свойство компоненты: Диалог. Вызвать

+

+

указывается ссылка на дочерний элемент Пополняемый список зависимых записей - Диалог, для отображениявсплывающего диалогового окна, позволяющего ввести или изменить атрибуты зависимой записи при нажатии на кнопку

+

Свойство компоненты: “Пополняемый список зависимых записей”. Создать новую зависимую запись в списке

+

+

Предписывает системе, что нужно связать логикой исполнения перечисленные дочерние элементы Пополняемый список зависимых записей - Диалог, в котором находится элемент Пополняемый список зависимых записей - Форма, информация из полей которой потребуется для вставки записей в Редактируемую (зависимую) таблицу.

+

Параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Пополняемый список зависимых записей

+
    + +
  • Форма ввода и сохранения зависимых записей: заполняется ссылкой на дочерний элемент Пополняемый список зависимых записей - Форма основная результирующая таблица с выбранными (зависимыми) записями на странице
  • +
  • Пополняемый список зависимых записей : указывается ссылка на дочерний элемент Редактируемая таблица, которая отображает строки в зависимой таблице
  • +
  • Вызываемый диалог: указывается ссылка на дочерний элемент Пополняемый список зависимых записей - Диалог, для отображениявсплывающего диалогового окна, позволяющего ввести или изменить атрибуты зависимой записи
  • +
  • Вызываемый диалог: указывается текст заголовка дочернего элемента Диалог, по умолчанию принимает значение “Создание записи” (но может быть изменен)
  • +
+

Основные параметры элемента Кнопка “Редактировать”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет создать надпись на кнопке Редактировать - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет Внести изменения в список?
+

Свойство компоненты: Диалог. Вызвать

+

+

Вызвать диалог - указывается ссылка на дочерний элемент Пополняемый список зависимых записей - Диалог, для отображениявсплывающего диалогового окна, позволяющего ввести или изменить атрибуты зависимой записи при нажатии на кнопку

+

Свойство компоненты: “Пополняемый список зависимых записей”. Изменить новую зависимую запись в списке

+

+

Предписывает системе, что нужно связать логикой исполнения перечисленные дочерние элементы Пополняемый список зависимых записей - Диалог, в котором находится Пополняемый список зависимых записей - Форма, информация из полей которой потребуется для вставки записей в Редактируемую (зависимую) таблицу.

+

Параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Пополняемый список зависимых записей

+
    + +
  • Форма ввода и сохранения зависимых записей: заполняется ссылкой на дочерний элемент Пополняемый список зависимых записей - Форма основная результирующая таблица с выбранными (зависимыми) записями на странице
  • +
  • Пополняемый список зависимых записей : указывается ссылка на дочерний элемент Редактируемая таблица, которая отображает строки в зависимой таблице
  • +
  • Вызываемый диалог: указывается ссылка на дочерний элемент Пополняемый список зависимых записей - Диалог, для отображениявсплывающего диалогового окна, позволяющего ввести или изменить атрибуты зависимой записи
  • +
  • Вызываемый диалог: указывается текст заголовка дочернего элемента Диалог, по умолчанию принимает значение “Редактирование записи” (но может быть изменен)
  • +
+

Основные параметрыэлемента “Кнопка Удалить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе-Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет создать надпись на кнопке Удалить - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет
+

Свойство компоненты: “Пополняемый список зависимых записей”. Удалить новую зависимую запись в списке

+

+

Предписывает системе произвести операцию удаления выбранной записи из элемента Редактируемая (зависимая) таблица

+

Основные параметры элемента “Диалог”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Диалог

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет задать заголовок диалога на странице пример возможного значения: Выбор записей - значение по умолчанию
Допускается скрытие через системную Х позволяет задать возможность закрытия диалога по нажатию на системный возможно закрыть диалог через- значение по умолчанию, невозможно закрыть диалог (системный скрыт)
+

Базовые функции элемента “Диалог”

+

Заполнить значением по умолчанию

+

Основные параметры элемента “Форма”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Форма

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Пополняемый список зависимых записей Устанавливает взаимосвязь с элементом Редактируемая (зависимая) таблица, указывая Системе, в какую таблицу должна сохранить (или считать) данные элементу Пополняемый список зависимых записей #Форма
Диалог Указывает системе на взаимосвязь с родительским элементом Пополняемый список зависимых записей #Диалог, в котором элемент Форма находится
+

Свойство компоненты: “Форма”. Подгрузка данных основная

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Скрипт Используется в предустановленной конфигурации по умолчанию, изменений со стороны пользователя не требует
Show server validation error Позволяет выводить текст с северной ошибкой при загрузке формы. +
    +
  • Активно - выводит текст серверной ошибки
  • Не активно - не выводить текст серверной +
  • +
  • Значение не определено - по умолчанию
Message validation template Позволяет задать текст шаблона валидации
+

Базовые функции элемента “Форма”

+

Заполнить значением по умолчанию

+

Основные параметры элемента “Кнопка Сохранения”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка сохранения

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке Значение “Ок” по умолчанию, может быть изменено
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет
Компонента Форма Указывает системе, данные из какого элемента Пополняемый список зависимых записей #Форма следует сохранить в таблицу зависимых записей
+

Основные параметры элемента “Кнопка Отмена”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке Значение “Отмена” по умолчанию, может быть изменено
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет
+

Свойство компоненты: Диалог. Скрыть

+

+

Предписывает системе закрыть элемент Пополняемый список зависимых записей #Диалог в случае нажатия на кнопку Отмена

+

Базовые функции

+

Заполнить значением по умолчанию

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотренперечень функций, расширяющих её базовую функциональность,которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации скриптов (

+

-скрипты выполняются удаленно на сервере приложений,

+

- скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Какие параметры компоненты “Пополняемый список зависимых записей” требуют непосредственной настройки аналитиком? Большинству описанных параметров элементов сложного компонента уже заранее заданы значения по умолчанию, и они не требуют каких-либо изменений от аналитика в типовых случаях. Но часть параметров следует задать в процессе использования компоненты для её внедрения в логику проекта. Вот список этих параметров: “Пополняемый список зависимых записей”. Подгрузка данных; “Таблица”. Настроить колонки таблицы; И дополнительно наполнить полями элемент Пополняемый список зависимых записей #Форма - на этом шаге от аналитика требуется заполнить в дереве страницы контейнер элемента Форма необходимыми простыми компонентами для оперирования атрибутами вставляемой записи.
Можно ли поменять порядок отображаемых колонок в Таблице? Для того, чтобы изменить порядок колонок в Таблице необходимо в свойстве Настроить колонки таблицы - Колонки нажать правой кнопкой мыши на «Элемент» и выбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент
Как изменить формат отображения данных в колонке Таблицы? В случае, если необходимо изменить формат отображения значений в колонке Таблицы необходимо при настройке колонки применить Форматтер. Например, подгружаемое значение в колонку имеет тип данных Дата и Время (DateTime), но на странице пользовательского приложения необходимо отображать значение в колонке без Времени, только Дату. В таком случае, целесообразно использовать форматтер DateFormatter, который отобразит значение колонки в нужном виде. Но при этом предварительно необходимо применить к Таблице функцию Очистить форматирование колонок таблицы, указав наименование настраиваемой колонки.
Можно ли изменить цветовое оформление Таблицы? Да. Цветовым оформлением Таблицы можно управлять с помощью CSS-стилей, задаваемых в Основных параметрах - Расширенные настройки - CSS классы
Как автоматически вывести сумму значений по колонке в Таблицу? Для того, чтобы на странице отобразилась сумма значений по колонке, необходимо при настройке колонки выбрать Агрегирующую функцию - Сумма, после чего в Таблице автоматически отобразится зафиксированная (положение не будет изменяться при прокрутке записей) результирующая строка в Таблице. При этом строка будет выделена отличным от других записей в таблице цветом и значение в результирующем поле будет динамически изменяться по мере заполнения колонки (выбранной в качестве источника данных) новыми значениями в таблице базы данных.С описанием настройки колонок в Таблице можно ознакомиться в разделе: Настройка колонок Таблицы
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_зависимых_записей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_зависимых_записей.html new file mode 100644 index 0000000..88554ab --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_зависимых_записей.html @@ -0,0 +1,777 @@ + + + + + + + + Web-BPM Docs – Список зависимых записей + + + + + + +
+
+ + + +
+
+

Список зависимых записей

+

Назначение

+

Список зависимых записей - это составной компонент, который используется для формирования и отображения списка выбранных пользователем и связанных с главной сущностью (компонентой Формана текущей странице) записей (одной или нескольких) из множества доступных, но без возможности пополнения пользователем списка доступных записей. Примером использования может служить задача назначения нескольких сотрудников из списочного состава организации в команду проекта, когда списочный состав - это заранее сформированный и нередактируемый из компоненты справочник сотрудников, из которого можно только выбирать тех, кто будет включен в команду проекта.

+

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

+

Компонента Список зависимых записей находится в разделе Компоненты - Поля - Список зависимых записей.

+

В структуру компоненты Список зависимых записей, представленной набором простых компонентов и связанных между собой заранее определенными алгоритмами, входят следующие элементы

+

Работа с компонентой и выбор требуемых значений из списка доступных записей осуществляется в следующей последовательности:

+
    + +
  • нажатие Кнопки “Изменить”, расположенной рядом с основной Таблицей зависимых записей на странице(в составе компоненты находится под элементом Связанная таблица); по нажатию на кнопку происходит открытие всплывающего диалогового окна
  • +
  • поиск необходимых значений в Таблице доступных записей (на странице в диалоговом окне находится слева)
  • +
  • выбор значения с помощью Кнопок “Добавить” или *“Добавить все” *из списка доступных записей; по нажатию на кнопку происходит перенос (добавление) записи из Таблицы доступных значений (на странице в диалоговом окне находится слева) в Связанную таблицу выбранных значений (на странице в диалоговом окне находится справа)
  • +
  • удаление выбранного значения с помощью Кнопок “Удалить” или “Удалить все” из списка уже выбранных значений; по нажатию на кнопку происходит перенос (удаление) записи из Связанной таблицы выбранных значений(на странице в диалоговом окне находится справа) и возвращение записи в Таблицу доступных значений(на странице в диалоговом окне находится слева)
  • +
  • перенос значений из Связанной таблицы выбранных записей в результирующую Связанную таблицу с главной сущностью (компонентой Формана текущей странице) по нажатию на Кнопку “Ок” и закрытие диалогового окна
  • +
  • сохранение всей карточки главной сущности компоненты Форма, при котором осуществляется взаимопривязка (линкование) каждой записи из элемента “Связанная таблица” к главной сущности экранного интерфейса
  • +
+

Структура

+

Основные вложенные элементы компоненты Список зависимых записей

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование элемента Описание
Список зависимых записей контейнер вертикального выравнивания, в который вложены все дочерние компоненты
Связанная таблица используется для отображения строк в зависимой таблице, которые уже связаны сглавной сущностью компоненты Форма
Кнопка Изменить используется для открытия (вызова) диалогового окна со списком доступных значений для выбора
Диалог используется для отображения всплывающего диалогового окна со списком доступных значений для выбора
Таблица используется для отображения списка доступных значений (записей) для выбора (во всплывающем диалоговом окне находится слева)
Кнопка Добавить используется для переноса (добавления) одной выбранной записи из Таблицы
Кнопка Добавить все используется для переноса (добавления) всех записей из Таблицы всех доступных значений(на странице в диалоговом окне находится слева)вСвязанную таблицувыбранных значений(на странице в диалоговом окне находится справа)
Кнопка Удалить используется для исключения (удаления) строки из Связанной таблицы уже выбранных значений (на странице в диалоговом окне находится справа) и обратного переноса в Таблицу всех доступных значений(на странице в диалоговом окне находится слева)
Кнопка Удалить все используется для исключения (удаления) всех строк из Связанной таблицы уже выбранных значений (на странице в диалоговом окне находится справа) и обратного переноса в Таблицу всех доступных значений(на странице в диалоговом окне находится слева)
Связанная таблица используется для отображения списка уже выбранных пользователем записей (во всплывающем диалоговом окне находится справа) из массива доступных значений (записей) для выбора. Необязательна для настройки (только при необходимости более детального вывода информации), так как по умолчанию дублирует конфигурацию
Кнопка Ок используется для переноса значений из Связанной таблицы выбранных записей в результирующую Связанную таблицу с главной сущностью(компонентойФормана текущей странице)и закрытия диалогового окна
Кнопка Отмена используется для отмены выбора значений из списка доступных и закрытия диалогового окна
+

Свойства

+

Компонента имеет набор общих свойств.

+

Основные параметры Список зависимых записей

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Вертикальный контейнер

+

Основные параметры Связанной таблицы

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Подсказка позволяет создать подсказку, расположенную внутри элемента
Надпись позволяет задать наименование поля, которое будет отображаться на странице
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов +
  • Не активно - не отображать колонку флагов
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Save Column State позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
  • +
  • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
No Rows Overlay Message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют(доступно для настройки при Loading Overlay Type - TEXT_OVERLAY) пример возможного значения:Данные отсутствуют
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах:No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
Loading overlay message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например,Загрузка данных, пожалуйста, подождите.(доступно для настройки приLoading Overlay Type - TEXT_OVERLAY)
+

Свойство компоненты: Список зависимых записей. Подгрузка данных

+

+

позволяет задать граф сущностей для подгрузки данных в Таблицу. Является обязательным к заполнению и настройке.

+

с описанием настройки Графа сущностей для Таблицы можно ознакомиться в разделе: Настройка Графа сущностей

+

Свойство компоненты: Таблица. Настроить колонки таблицы

+

+

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

+

с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

+

Свойство компоненты: Список зависимых записей. Взаимосвязи таблиц

+

+

позволяет задать взаимосвязи между таблицами для подгрузки/сохранения значений

+
    + +
  • Колонка, ссылающаяся на таблицу “доступных” - указывается колонка объекта базы данных, включенного в Граф сущностей текущей настраиваемой Связанной таблицы, которая ссылается на главную таблицу в Графе сущностей Таблицы “доступных” записей для выбора (на странице в диалоговом окне находится слева)
  • +
  • Колонка, ссылающаяся на “основную” таблицу - указывается колонка объекта базы данных, включенного в Граф сущностей текущей настраиваемой Связанной таблицы, которая ссылается на главную таблицу в Графе сущностей основной компоненты Форма на странице
  • +
  • Колонка “основной” таблицы - указывается колонка (первичный ключ) главной таблицы в Графе сущностей основной компоненты Форма на странице, на которую ссылается текущая настраиваемая Связанная таблица
  • +
+

Свойство компоненты: Список зависимых записей. Заполнить значением по умолчанию

+

+

позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компоненты Список зависимых записей

+

с описанием функции Заполнить значением по умолчанию можно ознакомиться в разделе: Заполнить значением по умолчанию - Список зависимых записей.

+

с описанием настройки Графа сущностей для Таблицы можно ознакомиться в разделе: Настройка Графа сущностей

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет создать надпись на кнопке Изменить - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Внести изменения в список?
+

Свойство компоненты: Диалог. Вызвать

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Вызвать диалог позволяет задать диалог, который будет открываться при нажатии на кнопку по умолчанию задан Диалог вложенный в компоненту Список зависимых записей
+

Свойство компоненты: Список зависимых записей. Перенести записи в таблицу “выбранных” записей

+

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • Из списка зависимых записей: указывается основная результирующая Связанная таблица с главной сущностью(компонентой Формана текущей странице)
  • +
  • В таблицу выбранных записей: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных
  • +
  • Таблица со всеми доступными записями: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи
  • +
+

+

Основные параметры Диалога

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Диалог

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет задать заголовок диалога на странице пример возможного значения: Выбор записей - значение по умолчанию
Допускается скрытие через системную Х позволяет задать возможность закрытия диалога по нажатию на системный возможно закрыть диалог через- значение по умолчанию, невозможно закрыть диалог (системный скрыт)
+

Основные параметры Таблицы

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов +
  • Не активно - не отображать колонку флагов
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Save column state позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
  • +
  • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах:No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
No Rows Overlay Message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют(доступно для настройки при Loading Overlay Type - TEXT_OVERLAY)
Loading overlay message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например,Загрузка данных, пожалуйста, подождите.(доступно для настройки приLoading Overlay Type - TEXT_OVERLAY) *пример возможного значения:Загрузка данных, пожалуйста, подождите.
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
+

Свойство компоненты: Таблица. Подгрузка данных

+

+

позволяет задать граф сущностей для подгрузки данных в Таблицу. Является обязательным к заполнению и настройке.

+

с описанием настройки Графа сущностей для Таблицы можно ознакомиться в разделе: Настройка Графа сущностей

+

Свойство компоненты: Таблица. Настроить колонки таблицы

+

+

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

+

Видимые колонки данной Таблицы должны быть равны колонкам, отображаемым в основной Связанной таблице (колонки могут быть скрыты, но должны быть включены в таблицу)

+

с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

+

Свойство компоненты: Активировать кнопку после выбора строки в таблице

+

+

устанавливает доступность Кнопки “Добавить” после выбора строки в Таблице со списком доступных записей (на странице в диалоговом окне находится слева) для переноса записи в Связанную таблицу выбранных пользователем записей (на странице в диалоговом окне находится справа)

+

+

-по умолчанию задана Кнопка “Добавить”, вложенная в компоненту Список зависимых записей

+

Свойство компоненты: Продублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк

+

+

позволяет продублировать настройки Таблицы с доступными для выбора записей (на странице в диалоговом окне находится слева) в Связанную таблицу уже выбранных пользователем записей (на странице в диалоговом окне находится справа), то есть исключает необходимость ручной настройки (так как обе таблицы должны быть приведены к единому виду) бизнес-аналитиком колонок таблицы, сортировки, форматирования таблицы и проч. для Связанной таблицы.

+

+

-по умолчанию задана Связанная таблица, вложенная в компоненту Список зависимых записей

+

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

+

+

при выборе записи в Таблице с доступными для выбора записей (на странице в диалоговом окне находится слева) и переносе её (с помощью Кнопки “Добавить” или Кнопки “Добавить все” ) в Связанную таблицу уже выбранных пользователем записей (на странице в диалоговом окне находится справа) исключает данную запись (и) из текущей Таблицы (доступных строк)

+

-по умолчанию задана Связанная таблица, вложенная в компоненту Список зависимых записей

+

Свойство компоненты: Таблица. Настроить динамическую подгрузку данных при просмотре страницы

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Количество записей в блоке количество отображаемых записей в Таблице по умолчанию при каждой новой подгрузке 20 - значение по умолчанию
+

Основные параметры Кнопки “Добавить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: > - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите выбрать данное значение?
+

Свойство компоненты: Список зависимых записей. Перенести строку из таблицы “доступных” строк в таблицу “выбранных”

+

+

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

+

параметры функции заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • Из таблицы “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, откуда будет перенесена выбранная запись
  • +
  • В таблицу “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, куда будет перенесена выбранная запись
  • +
+

+

Основные параметры Кнопки “Добавить все”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе-Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке *пример возможного значения: >> - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите выбрать данное значение?
+

Свойство компоненты: Список зависимых записей. Перенести строку из таблицы “доступных” строк в таблицу “выбранных”

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • Из таблицы “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, откуда будут перенесены все записи одновременно
  • +
  • В таблицу “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, куда будут перенесены записи
  • +
+

+

Основные параметры **Кнопки “Удалить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: < - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите исключить данное значение?
+

Свойство компоненты: Список зависимых записей. Вернуть строку в таблицу “доступных” из таблицы “выбранных”

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • В таблицу “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, куда будет перенесена (возвращена) выбранная запись
  • +
  • Из таблицы “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, откуда будет перенесена (возвращена) выбранная запись
  • +
+

+

Основные параметры **Кнопки “Удалить все”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: << - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите исключить все значения?
+

Свойство компоненты: Список зависимых записей. Вернуть все строки в таблицу “доступных” из таблицы “выбранных”

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • В таблицу “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, куда будут перенесены (возвращены) все записи
  • +
  • Из таблицы “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, откуда будут перенесены (возвращены) все записи
  • +
+

+

Основные параметры Связанной таблицы (таблица выбранных пользователем записей)

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Подсказка позволяет создать подсказку, расположенную внутри элемента
Надпись позволяет задать наименование поля, которое будет отображаться на странице
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой Таблица +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов +
  • Не активно - не отображать колонку флагов
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Save Column State позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
  • +
  • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах:No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
No Rows Overlay Message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют(доступно для настройки при Loading Overlay Type - TEXT_OVERLAY)
Loading overlay message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например,Загрузка данных, пожалуйста, подождите.(доступно для настройки приLoading Overlay Type - TEXT_OVERLAY)
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
+

Свойство компоненты: Таблица. Настроить колонки таблицы

+

+

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

+

с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

+

Свойство компоненты: Активировать кнопку после выбора строки в таблице

+

+

устанавливает доступность Кнопки “Удалить” после выбора строки в Связанной таблице выбранных пользователем записей (на странице в диалоговом окне находится справа) для переноса (возврата) записи в Таблицу со списком доступных записей (на странице в диалоговом окне находится слева)

+

по умолчанию задана - Кнопка “Удалить”

+

+

Свойство компоненты:Список зависимых записей. Заполнить значением по умолчанию

+

+

позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компоненты Список зависимых записей

+

Внимание! При использовании данной функции, нет необходимости настройки и заполнения Графа сущностей в текущей таблице

+

с описанием функции Заполнить значением по умолчанию можно ознакомиться в разделе: Заполнить значением по умолчанию.Список зависимых записей

+

Основные параметры Кнопки “Ок”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет создать надпись на кнопке пример возможного значения: Ок - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно выбрали все необходимые значения?
+

Свойство компоненты: Диалог. Скрыть

+

+

Скрыть Диалог - позволяет задать диалог, который будет закрыт при нажатии на кнопку. По умолчанию задан Список зависимых записей#Диалог, вложенный в компоненту Список зависимых записей

+

Свойство компоненты: Список зависимых записей. Перенести записи из таблицы “выбранных” записей

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • Из таблицы “выбранных”: указывается Связанная таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, откуда будут перенесены значения
  • +
  • В список зависимых записей: указывается основная результирующая Связанная таблица с главной сущностью(компонентой Формана текущей странице), куда будут перенесены записи
  • +
+

+

Основные параметры Кнопки “Отмена”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет создать надпись на кнопке пример возможного значения: Отмена - значение по умолчанию
Текст подтверждения при нажатии позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите отменить операцию?
+

Свойство компоненты: Диалог. Скрыть

+

+

позволяет задать диалог, который будет закрыт при нажатии на кнопку

+

- по умолчанию задан Список зависимых записей#Диалог, вложенный в компоненту Список зависимых записей

+

Базовые функции

+

заполнить значением по умолчанию

+

Назначение

+

Функция, которая позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компоненты Список зависимых записей.

+

Функция Заполнить значением по умолчанию должна быть задействована на обоих компонентах “Связанная таблица”, а настроена только на основной компоненте “Связанная таблица”, входящей в состав сложной компоненты Список зависимых записей.

+

Активация и настройка функции на первой компоненте “Связанная таблица”

+

Активация без настройки функции на второй компоненте “Связанная таблица”

+

При этом, на выше лежащей компоненте Форма функция Подгрузка значений по умолчанию должна быть активирована (но может быть не настроена).

+

+

Результатом исполнения функции Заполнить значением по умолчанию является одно или несколько значений, которыми предзаполняются основная компонента “Связанная таблица”, входящая в состав сложнойкомпоненты Список зависимых записей, и отображающая список только тех строк из списка всех доступных строк, которые выбраны пользователем .

+

В этом основное отличие этой функции от аналогичной функции, используемой для запроса ‘значений по умолчанию’ обычных визуальных компонентов, но оперирующей только одним значением.

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Как ограничить количество строк в Связанной таблице (LinkField)

+

Чтобы ограничить количество строк в Связанной таблице установите необходимое значение в параметр “Макс. количество строк” (Если значение не установлено или 0, то ограничение не действует):

+

+

Если Вы хотите выбрать действие при попытке выйти за границы максимального количества, выберите это действие в блоке “Тогда” в компоненте “Обработка событий”:

+

+

Если Вы хотите динамически менять максимальное количество строк, используйте метод “Задать максимальное количество строк” в компоненте:

+

+

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Как сделать, чтобы данные, отобранные с помощью компоненты Список зависимых записей, сохранялись в базу данных? Для того, чтобы данные, отобранные с помощью компоненты Список зависимых записей, сохранялись/считывались в/из базы данных, её необходимо вложить внутрь основной компоненты Формана странице.
Какие дочерние элементы Списка зависимых записей требуют обязательной и непосредственнойнастройки аналитиком? Большинству описанных параметров дочерних элементов компоненты Список зависимых записей уже заранее заданы значения по умолчанию, и они не требуют каких-либо изменений от аналитика в типовых случаях. Но часть параметров следует задать в процессе использования компоненты для её корректной работы и внедрения в логику бизнес-процесса: +
    +
  • параметры основной Таблицы Списка зависимых записей на странице -Связанная таблица: Список зависимых записей. Подгрузка данныхСписок зависимых записей. Взаимосвязи таблиц Таблица. Настроить колонки таблицы
  • +
  • параметры Таблицы доступных строк для выбора -Таблица: Таблица. Подгрузка данных Таблица. Настроить колонки таблицы
В каких случаях используется Список зависимых записей, а в каких случаях Список с поиском для выбора одного значения? В случае, когда необходимо связать идентификатор главной сущности компоненты Форма, например, Заявление на получение лицензии, одновременно с несколькими значениями (связь многие ко многим), например, виды деятельности лицензиата,из заранее сформированного списка доступных значений, то используется Список зависимых записей (сохранение отобранных значений, осуществляется в таблицу связи базы данных, в приведенном примере, между Заявлением и Видом деятельности лицензиата). В случае, когда архитектура базы данных предполагает сохранение одного идентификатора из списка доступных значений (связь один ко многим) используется Список с поиском для выбора одного значения
Можно ли использовать Набор фильтров для удобства поиска значений в Таблице доступных строк? Да, можно. Для этого необходимо в элемент Диалог, входящий в состав компоненты Список зависимых записей, добавить элемент Набор фильтров со вложенными фильтрами, например, *Текстовое поле (фильтр)*или Фильтр по числовому полю, настроить их свойства и в качестве Таблицы, по значениям которой будет происходить фильтрация, в Наборе фильтров указать Таблицу доступных строк компоненты Список зависимых записей.
Почему при открытии диалога на странице неактивна кнопка “Добавить”? Кнопка "Добавить"недоступна для управления по умолчанию и становится активна только при выборе записи (с помощью функцииАктивировать кнопку после выбора строки в таблице, настраиваемой в свойствах Таблицы) в Таблице доступных строк для выбора(на странице в диалоговом окне находится слева). По нажатию на кнопку выбранная пользователем строка будет перенесена в Таблицу выбранных строк(на странице в диалоговом окне находится справа). Аналогичная логика заложена в работу кнопки “Удалить”, которая становится активна только при выборе записи в Таблице выбранных строк(на странице в диалоговом окне находится справа),и по нажатию на кнопку выбранная запись будет перенесена в Таблицу доступных строк(на странице в диалоговом окне находится слева).
Можно ли выбрать одновременно несколько строк в Таблице доступных записей для добавления в Таблицу выбранных строк? Да, можно. Для этого необходимо при настройке основных параметров Таблицы доступных строк, привести свойства Допустимо выбрать несколько строк и Колонка флагов в значение(истина) в параметре Таблица. Задействовать режим выбора нескольких строк, после чего в интерфейсе в Таблице доступных строк (на странице в диалоговом окне находится слева)отобразится колонка флагов (выбора записи), которая позволит одновременно выделить несколько строк (при этом выбранные строки окрасятся в отличный от других строк цвет), и по нажатию на кнопку “Добавить” выбранные записи будут перенесены в Таблицу выбранных строк(на странице в диалоговом окне находится слева). В случае, когда необходимо выбрать все предложенные записи в Таблице доступных строк и включить их в Таблицу выбранных строк используется кнопка “Добавить все”.
Можно ли изменить цветовое оформление Таблицы? Да. Цветовым оформлением Таблицы можно управлять с помощью CSS-стилей, задаваемых в**Основных параметрах - Расширенные настройки - CSS классы.
Как изменить формат отображения данных в колонке Таблицы? В случае, если необходимо изменить формат отображения значений в колонке Таблицы необходимо при настройке колонки применить Форматтер. Например, подгружаемое значение в колонку имеет тип данных Дата и Время (DateTime), но на странице пользовательского приложения необходимо отображать значение в колонке без Времени, только Дату. В таком случае, целесообразно использовать форматтер DateFormatter, который отобразит значение колонки в нужном виде. Но при этом предварительно необходимо применить к Таблице функцию Очистить форматирование колонок таблицы, указав наименование настраиваемой колонки.
Можно ли поменять порядок отображаемых колонок в Таблице? Для того, чтобы изменить порядок колонок в Таблице необходимо в свойстве Настроить колонки таблицы - Колонки нажать правой кнопкой мыши на «Элемент» и выбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент.
Можно ли задать автоматическую нумерацию строк (записей) в Таблице? Да, можно. Для этого необходимо в настраиваемых параметрах Таблицы перейти к свойству Таблица. Основные параметры - Показывать номер строки и привести его в значение(истина).
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_зависимых_записей_поле_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_зависимых_записей_поле_.html new file mode 100644 index 0000000..7e694e1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_зависимых_записей_поле_.html @@ -0,0 +1,751 @@ + + + + + + + + Web-BPM Docs – Список зависимых записей (поле) + + + + + + +
+
+ + + +
+
+

Список зависимых записей (поле)

+

Назначение

+

Список зависимых записей (поле)- это составной компонент, которыйиспользуется длявыбора одного или нескольких значений из списка доступных и записи выбранных значений в поле, которое имеет возможность хранения и отображения нескольких значений одновременно (поле с множественным выбором). Логика работы компоненты Список зависимых записей (поле) схожа с логикой работы компоненты Список зависимых записей, отличие заключается в том, что результатвыбора значений отображается не в виде таблицы, а в виде поля с множественным выбором.Компонента может быть использована в достаточно частных случаях, посколькуданные, отобранные с помощью этой компоненты, не сохраняются в базу данных. Примером возможного применения компоненты Список зависимых записей (поле) можно назвать использование компоненты в качестве входного параметра для формирования отчетной формы, когда в качестве параметра необходимо передать массив значений (идентификаторов) (например, список нескольких сотрудников, по которым необходимо сформировать отчет).

+

Компонента Список зависимых записей (поле) находится в разделе Компоненты - Поля - Список зависимых записей(поле).

+

В структуру компоненты Список зависимых записей (поле), представленной набором простых компонентов и связанных между собой заранее определенными алгоритмами, входят следующие элементы

+

Работа с компонентой и выбор требуемых значений из списка доступных записей осуществляется в следующей последовательности:

+
    + +
  • нажатие Кнопки “Изменить” (рис.3), расположенной рядом с Полем с множественным выбором на странице; по нажатию на кнопку происходит открытие диалогового окна (рис.4)
  • +
  • доступные для выбора значения расположены вТаблицедоступных записей(на странице в диалоговом окне находится слева)
  • +
  • выбор значения осуществляется с помощью Кнопок “Добавить” (>) или “Добавить все” (>>) из списка доступных записей; по нажатию на кнопку происходит перенос (добавление) записи из Таблицы доступных значений(на странице в диалоговом окне находится слева) в Связанную таблицу выбранных значений (на странице в диалоговом окне находится справа)
  • +
  • удаление выбранного значения осуществляется с помощью Кнопок “Удалить” или “Удалить все” из списка уже выбранных значений; по нажатию на кнопку происходит перенос (удаление) записи из Связанной таблицы выбранных значений(на странице в диалоговом окне находится справа) и возвращение записи в Таблицу доступных значений(на странице в диалоговом окне находится слева)
  • +
  • перенос значений из Связанной таблицы выбранных записей в результирующее Поле с множественным выбором по нажатию на Кнопку “Ок” и закрытие диалогового окна
  • +
+

+

рис.3 Поле с множественным выборок и кнопка “Изменить”

+

+

рис.4 Диалоговое окно для выбора значений

+

Структура

+

Основные вложенные элементы компоненты Список зависимых записей (поле)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование элемента Описание
Список зависимых записей (поле) контейнер горизонтального выравнивания, в который вложены все дочерние компоненты
Поле с множественным выбором используется только для отображения (без возможности управления и ручного ввода) выбранных значений из Связанной таблицы
Кнопка “Изменить” используется для открытия (вызова) диалогового окна со списком доступных значений для выбора
Диалог используется для отображениявсплывающего диалогового окна со списком доступных значений для выбора
Таблица используется для отображения списка доступных значений (записей) для выбора (во всплывающем диалоговом окне находится слева)
Кнопка “Добавить” используется для переноса (добавления) одной выбранной записи из Таблицы всех доступных значений (на странице в диалоговом окне находится слева) в Связанную таблицу выбранных значений (на странице в диалоговом окне находится справа)
Кнопка Добавить все используется для переноса (добавления) всех записей из Таблицы всех доступных значений(на странице в диалоговом окне находится слева)вСвязанную таблицувыбранных значений(на странице в диалоговом окне находится справа)
Кнопка “Удалить” используется для исключения (удаления) строки из Связанной таблицы уже выбранных значений (на странице в диалоговом окне находится справа) и обратного переноса в Таблицу всех доступных значений(на странице в диалоговом окне находится слева)
Кнопка Удалить все используется для исключения (удаления) всех строк из Связанной таблицы уже выбранных значений (на странице в диалоговом окне находится справа) и обратного переноса в Таблицу всех доступных значений(на странице в диалоговом окне находится слева)
Связанная таблица используется для отображения списка уже выбранных пользователем записей (во всплывающем диалоговом окне находится справа) из массива доступных значений (записей) для выбора. Необязательна для настройки (только при необходимости более детального вывода информации), так как по умолчанию дублирует конфигурацию Таблицы Списка зависимых записей всех доступных значений для выбора (во всплывающем диалоговом окне находится слева)
Кнопка “ОК” используется для переноса значений из “Связанной таблицы” выбранных записей в результирующее “Поле с множественным выбором” и закрытия диалогового окна
Кнопка Отмены используется для отмены выбора значений из списка доступных и закрытия диалогового окна
+

Свойства

+

Компонента имеет набор общих свойств.

+

Основные параметры Список зависимых записей (поле)

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Горизонтальный контейнер

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
+

Основные параметры Поле с множественным выбором

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись позволяет задать наименование поля, которое будет отображаться на странице *пример возможного значения:*Утверждающие (рис.1)
Разделитель позволяет указать символ или пробел, который будет разделять между собой выбранные значения в поле пример возможного значения: ;
Подсказка позволяет создать подсказку, расположенную внутри элемента *пример возможного значения:*Выбрать сотрудников
+

Свойство компоненты: Поле с множественным выбором. Подгрузка данных

+

+

позволяет задать источник подгрузки данных с указанием отображаемых значений пользователю, и с настройкой Графа сущностей. Является обязательным к заполнению и настройке.

+
    + +
  • + +

    Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей. Является обязательным к заполнению и настройке.

    +
  • +
  • + +

    Отображаемая колонка - позволяет задатьэлемент базы данных, значение которого будет отображено пользователю на странице в Поле с множественным выбором

    +
  • +
+

Свойство компоненты: Поле с множественным выбором. Подгрузка данных по умолчанию

+

позволяет указать значение по умолчанию, которое будет подгружаться в поле с помощью двух типов подгрузки (источников подгрузки значения):

+
    + +
  • из колонки
  • +
  • из сервиса
  • +
+

с описанием настройки свойства Подгрузка данных по умолчаниюи соответствующих ей типов подгрузкиможно ознакомиться в разделе: Заполнить значением по умолчанию

+

Основные параметры Кнопки “Изменить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Внести изменения в список?
Надпись позволяет задать надпись на кнопке пример возможного значения: … - значение по умолчанию
+

Свойство компоненты: Диалог. Вызвать

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
позволяет задать диалог, который будет открываться при нажатии на кнопку по умолчанию задан Диалог (Список зависимых записей(поле) - Диалог вложенный в компоненту Список зависимых записей (поле))
+

Свойство компоненты: Список зависимых записей. Перенести записи в Поле множественного выбора (SetRowsFromFieldForMTMField)

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
SetRowsFromFieldForMTMField параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей (поле) +
    +
  • From (Из списка зависимых записей): указывается результирующий элемент Поле с множественным выбором
  • +
  • To (В таблицу выбранных записей): указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных
  • +
  • Grid (Таблица со всеми доступными записями): указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи
+

+

рис.1 Отображение связи элементов

+

Основные параметры Диалога

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Диалог

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет задать заголовок диалога на странице пример возможного значения: Выбор записей - значение по умолчанию
Допускается скрытие через системную Х позволяет задать возможность закрытия диалога по нажатию на системный возможно закрыть диалог через- значение по умолчанию, невозможно закрыть диалог (системный скрыт)
+

Основные параметры Таблицы

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список
Всплывающая подсказка позволяет указать текст всплывающей подсказки, которая появляется при наведении курсора на элемент
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой Таблица +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов
  • +
  • Не активно - не отображать колонку флагов
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Save Column State позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
  • +
  • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах:No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
No Rows Overlay Message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют(доступно для настройки при Loading Overlay Type - TEXT_OVERLAY) пример возможного значения:Данные отсутствуют
Loading overlay message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например,Загрузка данных, пожалуйста, подождите.(доступно для настройки приLoading Overlay Type - TEXT_OVERLAY) пример возможного значения:Загрузка данных, пожалуйста, подождите.
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
+

Свойство компоненты: Таблица. Подгрузка данных

+

+

позволяет задать граф сущностей для подгрузки данных в Таблицу. Является обязательным к заполнению и настройке.

+

Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей.

+
    + +
  • + +

    Колонка для режима “Зависит от” - позволяет указать колонку настраиваемой Таблицы, которая обеспечивает связь текущей компоненты с компонентой заданной в параметре “Зависит от”

    +
  • +
  • + +

    Datasource Jndi Name - позволяет задать иной источник (базу данных) для выполнения запроса, заданного с помощью элементов базы данных в редакторе Графа сущностей элемента.

    +
  • +
+

Значение данного свойства может быть задано следующим образом: java:/webbpm/AppRepDS, а сам адрес базы данных, логин и пароль для подключения должен быть указан в файле standalone.xml (аналогично тому, как указывается, например, подключение к базе данных безопасности).

+

В случае, если данное свойство не заполнено, запрос выполняется в базе данных, указанной в конфигурации проекта (во вкладке База данных).

+

Свойство компоненты: Таблица. Настроить колонки таблицы

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Настроить колонки таблицы позволяет настроить отображаемые колонки в Таблице с сортировкой данных по конкретному порядку с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы
+

+

Свойство компоненты: Активировать кнопку после выбора строки в таблице

+

+

устанавливает доступность Кнопки “Добавить” (>) после выбора строки в Таблице со списком доступных записей (на странице в диалоговом окне находится слева) для переноса записи в Связанную таблицу выбранных пользователем записей (на странице в диалоговом окне находится справа)

+

+
    + +
  • по умолчанию задана Кнопка “Добавить”, вложенная в компоненту Список зависимых записей (поле)
  • +
+

Свойство компоненты: Продублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк

+

+

позволяет продублировать настройки Таблицы с доступными для выбора записей (на странице в диалоговом окне находится слева) в Связанную таблицу уже выбранных пользователем записей (на странице в диалоговом окне находится справа), то есть исключает необходимость ручной настройки (так как обе таблицы должны быть приведены к единому виду) бизнес-аналитиком колонок таблицы, сортировки, форматирования таблицы и проч. для Связанной таблицы.

+

+
    + +
  • по умолчанию задана Связанная таблица, вложенная в компоненту Список зависимых записей
  • +
+

Свойство компоненты: Таблица.Настроить динамическую подгрузку данных при просмотре страницы

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Количество запесей в блоке количество отображаемых записей в Таблице по умолчанию при каждой новой подгрузке пример возможного значения: 20 - значение по умолчанию
+

Основные параметры Кнопки “Добавить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: > - значение по умолчанию
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите выбрать данное значение?
+

Свойство компоненты: Список зависимых записей. Перенести строку из таблицы “доступных” строк в таблицу “выбранных”

+

+

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

+

параметры функции заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей (поле)

+
    + +
  • Из таблицы “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, откуда будет перенесена выбранная запись
  • +
  • В таблицу “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, куда будет перенесена выбранная запись
  • +
+

+

Основные параметры Кнопки “Добавить все”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: >> - значение по умолчанию
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите выбрать данное значение?
+

Свойство компоненты: Список зависимых записей. Перенести строку из таблицы “доступных” строк в таблицу “выбранных”

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически ходящими в состав компоненты Список зависимых записей (поле)

+
    + +
  • Из таблицы “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, откуда будут перенесены все записи одновременно
  • +
  • В таблицу “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, куда будут перенесены записи
  • +
+

+

Основные параметры Кнопки “Удалить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: < - значение по умолчанию
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите выбрать данное значение?
+

Свойство компоненты: Список зависимых записей. Вернуть строку в таблицу “доступных” из таблицы “выбранных”

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • В таблицу “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, куда будет перенесена (возвращена) выбранная запись
  • +
  • Из таблицы “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, откуда будет перенесена (возвращена) выбранная запись
  • +
+

+

Основные параметры Кнопки “Удалить все”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: << - значение по умолчанию
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите выбрать данное значение?
+

Свойство компоненты: Список зависимых записей. Вернуть все строки в таблицу “доступных” из таблицы “выбранных”

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей (поле)

+
    + +
  • В таблицу “доступных”: указывается таблица, расположенная (слева) во всплывающем диалоговом окне, в которой находятся все доступные для выбора записи, куда будут перенесены (возвращены) все записи
  • +
  • Из таблицы “выбранных”: указывается таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, откуда будут перенесены (возвращены) все записи
  • +
+

+

Основные параметры Связанной таблицы(таблица выбранных пользователем записей)

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Подсказка позволяет создать подсказку, расположенную внутри элемента
Надпись позволяет задать наименование поля, которое будет отображаться на странице Активно - подлежит сохранению - значение по умолчанию, Не активно -не подлежит сохранению
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов
  • +
  • Не активно - не отображать колонку флагов
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Save Column State позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
  • +
  • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах:No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
No Rows Overlay Message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют(доступно для настройки при Loading Overlay Type - TEXT_OVERLAY) пример возможного значения:Данные отсутствуют
Loading overlay message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например,Загрузка данных, пожалуйста, подождите.(доступно для настройки приLoading Overlay Type - TEXT_OVERLAY) пример возможного значения: Загрузка данных, пожалуйста, подождите.
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
+

Свойство компоненты: Таблица. Настроить колонки таблицы

+

+

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

+

с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

+

Свойство компоненты: Активировать кнопку после выбора строки в таблице

+

+

устанавливает доступность Кнопки “Удалить” после выбора строки в Связанной таблице выбранных пользователем записей (на странице в диалоговом окне находится справа) для переноса (возврата) записи в Таблицу со списком доступных записей (на странице в диалоговом окне находится слева)

+

по умолчанию задана - Кнопка “Удалить” (Список зависимых записей (поле ) - Кнопка удалить).

+

+

Свойство компоненты: Список зависимых записей. Заполнить значением по умолчанию

+

+

позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компонентыСписок зависимых записей (поле)

+

с описанием функции Заполнить значением по умолчанию можно ознакомиться в разделе: Заполнить значением по умолчанию. Список зависимых записей

+

Основные параметры Кнопки “Ок”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: Ок - значение по умолчанию
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно выбрали все необходимые значения?
+

Свойство компоненты: Диалог. Скрыть

+

+

позволяет задать диалог, который будет закрыт при нажатии на кнопку

+

- по умолчанию задан Диалог Список зависимых записей (поле) - Диалог вложенный в компоненту Список зависимых записей (поле)

+

Свойство компоненты: Список зависимых записей. Перенести записи из таблицы “выбранных” записей

+

+

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

+

параметры заполнены по умолчанию ссылками на элементы, иерархически входящими в состав компоненты Список зависимых записей

+
    + +
  • Из таблицы “выбранных”: указывается Связанная таблица, расположенная (справа) во всплывающем диалоговом окне, в которой находятся уже выбранные пользователем записи из списка доступных, откуда будут перенесены значения
  • +
  • В список зависимых записей: указывается результирующая компонента Поле с множественным выбором
  • +
+

+

Основные параметры Кнопки “Отмена”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: Отмена - значение по умолчанию
Текст подтверждения позволяет задать текст, который будет отображен пользователю внутри диалогового окна вместе с кнопками для подтверждения действия - Да/Нет пример возможного значения: Вы действительно хотите отменить действие?
+

Свойство компоненты: Диалог. Скрыть

+

+

позволяет задать диалог, который будет закрыт при нажатии на кнопку

+

- по умолчанию задан Диалог Список зависимых записей (поле) - Диалог, вложенный в компоненту Список зависимых записей

+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (-функции, которые выполняются удаленно на сервере приложений,- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Рекурсивно копировать составные объекты сложных компонент

+

TODO

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Какие дочерние элементы Списка зависимых записей требуют обязательной и непосредственнойнастройки аналитиком? Большинству описанных параметров дочерних элементов компоненты Список зависимых записей (поле) уже заранее заданы значения по умолчанию, и они не требуют каких-либо изменений от аналитика в типовых случаях. Но часть параметров следует задать в процессе использования компоненты для её корректной работы и внедрения в логику бизнес-процесса: +
    +
  • параметры элемента Поле с множественнымвыбором: Поле с множественным выбором. Подгрузка данных
  • +
  • параметры Таблицы доступных строк для выбора - Таблица: Таблица. Подгрузка данных Таблица. Настроить колонки таблицы
С примером добавления и настройки компоненты Список зависимых записей можно ознакомиться в разделе: Как задействовать компоненту Список зависимых записей (поле)
Можно ли использовать Набор фильтров для удобства поиска значений в Таблице доступных строк? Да, можно. Для этого необходимо в элемент Диалог, входящий в состав компоненты Список зависимых записей (поле), добавить элемент Набор фильтров со вложенными фильтрами, например, Текстовое поле (фильтр) или Фильтр по числовому полю, настроить их свойства и в качестве Таблицы, по значениям которой будет происходить фильтрация, в Наборе фильтров указать Таблицу доступных строк (Список зависимых записей (поле) - Таблица) компоненты Список зависимых записей (поле).
Почему при открытии диалога на странице неактивна кнопка “Добавить”? Кнопка"Добавить"недоступна для управления по умолчанию и становится активна только при выборе записи (с помощью функцииАктивировать кнопку после выбора строки в таблице,настраиваемой в свойствахТаблицы) в Таблице доступных строк для выбора(на странице в диалоговом окне находится слева).По нажатию на кнопку выбранная пользователем строка будет перенесена в Таблицу выбранных строк(на странице в диалоговом окне находится справа).Аналогичная логика заложена в работу кнопки"Удалить", которая становится активна только при выборе записи в Таблице выбранных строк(на странице в диалоговом окне находится справа),и по нажатию на кнопку выбранная запись будет перенесена в Таблицу доступных строк(на странице в диалоговом окне находится слева).
Можно ли выбрать одновременно несколько строк в Таблице доступных записей для добавления в Таблицу выбранных строк? Да, можно. Для этого необходимо при настройкеосновных параметров Таблицы доступных строк, привести свойства Допустимо выбрать несколько строк (Multiselectable) и Колонка флагов в значение (истина), после чего в интерфейсе в Таблице доступных строк (на странице в диалоговом окне находится слева) отобразится колонка флагов (выбора записи), которая позволит одновременно выделить несколько строк (при этом выбранные строки окрасятся в отличный от других строк цвет), и по нажатию на кнопку"Добавить"выбранные записи будут перенесены в Таблицу выбранных строк(на странице в диалоговом окне находится слева).В случае, когда необходимо выбрать все предложенные записи в Таблице доступных строк и включить их в Таблицу выбранных строк используется кнопка"Добавить все".
Можно ли изменить цветовое оформление Таблицы? Да. Цветовым оформлением Таблицы можно управлять с помощью CSS-стилей, задаваемых в**Основных параметрах - Расширенные настройки - CSS классы.
Как изменить формат отображения данных в колонке Таблицы? В случае, если необходимо изменить формат отображения значений в колонке Таблицы необходимо при настройке колонки применить Форматтер. Например, подгружаемое значение в колонку имеет тип данных Дата и Время (DateTime), но на странице пользовательского приложения необходимо отображать значение в колонке без Времени, только Дату. В таком случае, целесообразно использовать форматтер DateFormatter, который отобразит значение колонки в нужном виде. Но при этом предварительно необходимо применить к Таблице функцию Очистить форматирование колонок таблицы, указав наименование настраиваемой колонки.
Можно ли поменять порядок отображаемых колонок в Таблице? Для того, чтобы изменить порядок колонок в Таблице необходимо в свойстве Настроить колонки таблицы - Колонкинажать правой кнопкой мыши на «Элемент» и выбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент.
Можно ли задать автоматическую нумерацию строк (записей) в Таблице? Да, можно. Для этого необходимо в настраиваемых параметрах Таблицы перейти к свойству Таблица. Основные параметры - Показывать номер строкии привести его в значение(истина).
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_с_поиском_для_выбора_одного_значения.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_с_поиском_для_выбора_одного_значения.html new file mode 100644 index 0000000..5919d8a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Список_с_поиском_для_выбора_одного_значения.html @@ -0,0 +1,675 @@ + + + + + + + + Web-BPM Docs – Список с поиском для выбора одного значения + + + + + + +
+
+ + + +
+
+

Список с поиском для выбора одного значения

+

Назначение

+

Список с поиском для выбора одного значения - это составной компонент, который используется длявыбора одного значения из списка доступных с возможностью поиска.Для того чтобы данные, отобранные с помощью этой компоненты, сохранялись в базу данных, её необходимо вложить в компоненту Форма.

+

Компонента Список с поиском для выбора одного значения находится в разделе Компоненты - Поля - Список с поиском для выбора одного значения.

+

В структуру компоненты Список с поиском для выбора одного значения входят следующие элементы

+

Структура

+

Основные вложенные элементы компоненты Список с поиском для выбора одного значения

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование элемента Описание
Список с поиском для выбора одного значения контейнер горизонтального выравнивания, в который вложены все дочерние компоненты
Списка с поиском (с возможностью сохранения) отображает информацию по выбранной записи из списка
Кнопка выбора используется для открытия (вызова) диалогового окна
Диалог выбора используется для отображениявсплывающего диалогового окна
Панель фильтров представляет собой сворачиваемую панель, которая включает в себя Группу фильтров, Кнопку для фильтрации и “Кнопку Очистить”, которые будут отображаться в диалоговом окне
Группа фильтров позволяет задать фильтры поиска, которые будут применяться к Таблице; в зависимости от типа полей (текст, число и т.д.) по которым будет осуществляться фильтрация, в группу фильтров может быть вложен, например, Фильтр по текстовому полю или Фильтр по числовому полю
Кнопка для фильтрации используется для осуществления поиска значения в Таблице в соответствии с заданными фильтрами из Группы фильтров
Кнопка Очистить позволяет очистить введенные значения фильтров из Группы фильтров
Таблица используется для отображения информации в табличном виде, в данном случае, списка доступных значений из справочника
Кнопка выбора позволяет перенести значение из списка доступных вариантов в поле список с поиском (с возможностью сохранения)
Кнопка отмены позволяет закрыть диалог без выполнения действий с данными
+

Свойства

+

Компонента имеет набор общих свойств.

+

Основные параметры Списка с поиском для выбора одного значения

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Горизонтальный контейнер

+

Основные параметры Списка с поиском с возможностью сохранения

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Поле ввода с подбором значения (Поиск)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Начните вводить название департамента
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Департамент
Зависит от используется в том случае, когда набор доступных для выбора значений в текущем компоненте необходимо ограничить, исходя из выбранного значения в вышестоящем компоненте, от которого зависит текущий
Начать подбор вариантов после ввода задает минимальное число символов, при наборе которых будет осуществляться запрос на сервер пример возможного значения: 3 - значение по умолчанию
Прикрепить значение (Scroll Gravity) позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений +
    +
  • По умолчанию (DEFAULT) - выбранное значение отображается в порядке своего следования в списке доступных значений для выбора
  • +
  • По центру (CENTER) - выбранное значение отображается по центру в выпадающем списке доступных значений для выбора
  • +
  • В верхней части (TOP)- выбранное значение отображается в верхней части выпадающего списка доступных значений для выбора
  • +
  • В нижней части (BOTTOM) - выбранное значение отображается в нижней части выпадающего списка доступных значений для выбора
Исключить условия графа данное свойство позволяет подгружать для отображения значения в поле минуя условия (ограничения), заданные в Графе сущностей компоненты +
    +
  • Не активно - в данном состоянии, при подгрузке значений отсекаются значения не соответствующие условиям, заданным в Графе сущностей компоненты
  • +
  • Активно - в данном состоянии, при подгрузке значений допускается отображение значений, не соответствующих условиям, заданным в Графе сущностей компоненты, но без возможности их повторного выбора в выпадающем списке
Помечать невалидным (Mark invalid if not Satisfy) данное свойство доступно для управления при активации значении свойства Exclude Graph Conditions и позволяет визуально помечать поле как невалидное на странице, в случае если в него было подгружено значение, не соответствующие условиям Графа сущностей элемента +
    +
  • Не активно - в данном значении, поле не помечается на странице как невалидное и отображается стандартным образом
  • +
  • Активно - в данном значении, убрав фокус с поля, оно помечается на странице как невалидное
Css class if not Satisfy данное свойство доступно для управления при активном значении свойства Exclude Graph Conditions и позволяет задать CSS-класс, который будет применяться, в случае если в поле было подгружено значение, не соответствующие условиям Графа сущностей элемента
Tooltip if not Satisfy позволяет отображать всплывающую подсказку,в случае если в поле было подгружено значение, не соответствующие условиям Графа сущностей элемента. Данное свойство доступно для управления при: активном значении свойства Exclude Graph Conditions и заданному значению в поле Css Class If Not Satisfy пример возможного значения: not_valid
+

Свойство компоненты: Поле ввода с подбором значения. Подгрузка данных

+

+

позволяет задать источник подгрузки данных с указанием методов и типов сортировки, и с настройкой Графа сущностей. Является обязательным к заполнению и настройке.

+
    + +
  • + +

    Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей. Является обязательным к заполнению и настройке.

    +
  • +
  • + +

    Возвращать значение дополнительно из - по умолчанию компонента возвращает идентификатор записи выбранной из справочника значений. Настройка данного параметра позволяет указать компоненте, какое значение необходимо дополнительно считать и вернуть, кроме значения идентификатора выбранной пользователем записи.

    +
  • +
  • + +

    Показывать варианты по - позволяет ограничить список отображаемых вариантов в процессе подбора по подстроке.

    +
  • +
  • + +

    Тип поиска позволяет задать один из вариантов поиска по вводимой пользователем подстроке:

    +
  • +
  • + +

    С начала строки - значение отображается в списке, если с введенной пользователем подстроки начинается значение колонки из базы данных

    +
  • +
  • По всей строке -значение отображается в списке, если введенная пользователем подстрока содержится в значении колонки из базы данных с любого места вхождения
  • +
  • + +

    Связаны по - позволяет указать колонку текущей компоненты, по которой осуществляется связь с компонентой, указанной в свойстве “Зависит от”, обеспечивающую связь между родительской и текущей компонентами

    +
  • +
  • + +

    Тип колонки - это свойство, позволяющее выбрать тип для отображения значения в поле:

    +
  • +
  • + +

    Из одной колонки - значение по умолчанию

    +
  • +
  • Из нескольких колонок - позволяет указать перечень колонок, значения которых будут склеиваться в одну строку при отображении на страницес определяемым разделителем значений (точка, запятая, пробел и другие)
  • +
  • + +

    Разделитель - символ или пробел, который будет разделять между собой значения из разных колонок таблиц (ы) приводимых в одну строку (доступно для настройки при Тип колонки - Из нескольких колонок)

    +
  • +
  • + +

    Колонка для поиска (Search Columns) - позволяет задать элемент базы данных (колонку) со строковым типом данных, значениекоторого будет отображаться в строке результата поиска, в случае если в отображаемой (по умолчанию) пользователю колонке (Display Column) содержится значение NULL (доступно для настройки при Тип колонки - Из нескольких колонок)

    +
  • +
  • + +

    Порядок сортировки (Sort Order) - позволяет задать порядок сортировки отображаемых значений в списке для выбора, принимает значения:

    +
      + +
    • по возрастанию - значения будут сортироваться от меньшего к большему
    • +
    • по убыванию - значения будут сортироваться от большего к меньшему
    • +
    +
  • +
  • + +

    Показывать пользователю - позволяет задатьэлемент базы данных, значение которого будет отображено пользователю в Выпадающем списке (доступно для настройки при Тип колонки - Из одной колонки)

    +
  • +
  • + +

    Активировать фильтрацию по - позволяет задать колонку, по которой можно будет динамически активировать фильтр при использовании метода “Задать фильтр” (Set_Filter) в компоненте Обработка Событий в отношении настраиваемой компоненты

    +
  • +
  • + +

    *Datasource Jndi Name - *позволяет задать иной источник (базу данных) для выполнения запроса, заданного с помощью элементов базы данных в редакторе Графа сущностей элемента.

    +
  • +
+

Значение данного свойства может быть задано следующим образом: java:/webbpm/AppRepDS, а сам адрес базы данных, логин и пароль для подключения должен быть указан в файлеstandalone.xml(аналогично тому, как указывается, например, подключение к базе данных безопасности) (рис.1)

+

В случае, если данное свойство не заполнено, запрос выполняется в базе данных, указанной в конфигурации проекта (во вкладке База данных).

+
    + +
  • Сортировать по - позволяет задать элемент базы данных, по значению которого будет производиться сортировка
  • +
+

с описанием настройки Списка с поиском с возможностью сохраненияможно ознакомиться в разделе: Поле ввода с подбором значения

+

Свойство компоненты: Поле ввода с подбором значения. Сохранение значения

+

+

В случае, если значение в Поле ввода с подбором значения необходимо сохранить или подгрузить из базы данных, указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение.

+

В случае, если значение Поля ввода с подбором значения не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется для отображения значения, которое является константой, определённой в логике приложения.

+

+

Свойство компоненты: Заполнить значением из переменнойлюбого типа

+

позволяет указать переменную процесса, значение которой будет передаваться в поле и отображаться по умолчанию

+

с описанием настройки свойстваЗаполнить значением из переменной процессаможно ознакомиться в разделе: Заполнить значением из переменной процесса

+

Свойство компоненты: Поле ввода с подбором значения. Подгрузка данных по умолчанию

+

позволяет указать значение по умолчанию, которое будет подгружаться в поле с помощью двух типов подгрузки (источников подгрузки значения):

+
    + +
  • из колонки
  • +
  • из сервиса
  • +
+

с описанием настройки свойства Заполнить значением поумолчаниюи соответствующих ей типов подгрузкиможно ознакомиться в разделе: Заполнить значением по умолчанию

+

Основные параметры Кнопки выбора (открытия диалога)

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка выбора

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке … - значение по умолчанию
Вызвать диалог позволяет задать диалог, который будет открываться при нажатии на кнопку по умолчанию задан Диалог выбора
+

Основные параметры Диалога выбора

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Диалог

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовк позволяет задать заголовок диалога на странице пример возможного значения: Выбор записи - значение по умолчанию
Допускается скрытие через системную Х позволяет задать возможность закрытия диалога по нажатию на системный крестик возможно закрыть диалог через - значение по умолчанию, невозможно закрыть диалог (системный скрыт)
+

Основные параметры Панели фильтров

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Заголовок позволяет задать заголовок сворачиваемой панели на странице пример возможного значения: Фильтр - значение по умолчанию
Открывать развернутым позволяет задать вид панели при открытии диалога не активно - панель свернута - значение по умолчанию, активно - панель развернута
+

Основные параметры Кнопки для фильтрации

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка для фильтрации

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке Найти - значение по умолчанию
Компонент “Набор фильтров” позволяет задать Набор фильтров, по значениям которых будет осуществляться поиск по умолчанию задана Группа фильтров
Текст подтверждения позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопкус возможностью подтвердить действие с помощью кнопок “Да / Нет”
+

Основные параметры Кнопки “Очистить”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе-Кнопка очистки фильтра

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: Сбросить - значение по умолчанию
Текст подтверждения позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопкус возможностью подтвердить действие с помощью кнопок “Да / Нет”
Для компонента “набор фильтров” позволяет задать Набор фильтров, поля которого будут очищаться при нажатии по умолчанию задана Группа фильтров
Сбросить значения фильтров на значения по умолчанию при нажатии на кнопку возвращает значения заданных фильтров к значениям по умолчанию Не активно - не сбрасывать значения - значение по умолчанию, активно - сбрасывать значения
Применять фильтры после сброса позволяет задать возможность возврата фильтруемой Таблицы в первоначальное состояние при нажатии на кнопку Не активно - не применять значения фильтров - значение по умолчанию, активно - применять значения фильтров
+

Основные параметры Кнопки выбора

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка выбора

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: Выбрать - значение по умолчанию
Текст подтверждения позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопкус возможностью подтвердить действие с помощью кнопок “Да / Нет”
Скрыть диалог позволяет указать Диалог, который будет закрыт при нажатии на кнопку по умолчанию задан Диалог выбора
+

Свойство компоненты: Перенести значение из списка доступных вариантов в поле “выбранное значение”

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Из списка доступных вариантов позволяет задать Таблицу, из которой будет переносится выбранное значение по умолчанию задана Таблица
В поле выбранное занчение позволяет указать поле, куда будет копироваться выбранное значение из Таблицы по умолчанию задан Список с поиском (с возможностью сохранения)(Поле ввода с подбором значения)
+

Основные параметры “Кнопки отмены”

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Кнопка отмены

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись на кнопке позволяет задать надпись на кнопке пример возможного значения: Отмена - значение по умолчанию
Скрыть диалог позволяет указать Диалог, который будет закрыт при нажатии на кнопку по умолчанию задан Диалог выбора
Текст подтверждения позволяет задать текст сообщения, который отобразится в диалоговом окне после нажатия на кнопкус возможностью подтвердить действие с помощью кнопок “Да / Нет”
+

Основные параметры Таблицы

+

прим.: с полным описанием компоненты и её настройки также можно ознакомиться в разделе - Таблица

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список пример возможного значения: необходимо ограничить по конкретному признаку вложенную Таблицу (справочник районов). В данном случае, ограничивающим признаком будет служить значение из Выпадающего списка (регионы России), например, Республика Татарстан. В Таблице будут отображаться районы только Республики Татарстан, из которых будет производится дальнейший выбор.
Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
    +
  • возможность выбора сразу нескольких или одной строки
  • +
  • возможность выбора одной строки - значение по умолчанию
Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать колонку флагов +
  • Не активно - не отображать колонку флагов
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
    +
  • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
  • +
  • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
  • +
  • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
Save column state позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
  • +
  • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
    +
  • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах: No Rows Overlay Message и Loading Overlay Message
  • +
  • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
No rows overlay message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют (доступно для настройки при Loading Overlay Type - TEXT_OVERLAY) пример возможного значения: Данные отсутствуют
Loading Overlay Message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например,Загрузка данных, пожалуйста, подождите.(доступно для настройки приLoading Overlay Type - TEXT_OVERLAY) пример возможного значения:Загрузка данных, пожалуйста, подождите.
Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
  • +
  • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
+

Свойство компоненты: Таблица. Подгрузка данных

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подгрузка данных позволяет задать граф сущностей для подгрузки данных в Таблицу. Является обязательным к заполнению и настройке. +
    +
  • Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей. Является обязательным к заполнению и настройке.
  • +
  • Колонка для режима “Зависит от” - позволяет указать колонку настраиваемой Таблицы, которая обеспечивает связь текущей компоненты с компонентой заданной в параметре “Зависит от”
+

Свойство компоненты: Таблица. Настроить колонки таблицы

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Настроить колонки таблицы позволяет настроить отображаемые колонки в Таблице с сортировкой данных по конкретному порядку с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы
+

Свойство компоненты: Активировать кнопку после выбора строки в таблице

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Активируемая кнопка устанавливает доступность Кнопки выбора записи после указания необходимой строки в Таблице по умолчанию задана Кнопка выбора
+

Свойство компоненты: Таблица. Настроить динамическую подгрузку данных при просмотре страницы

+ + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Количество записей в блоке количество отображаемых записей в Таблице по умолчанию при каждой новой подгрузке пример возможного значения: 20 - значение по умолчанию
+

Основные параметры Группы фильтров

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Фильтровать сразу позволяет задать возможность фильтровать Таблицу сразу по мере ввода значения фильтра, без нажатия на Кнопку для фильтрации +
    +
  • Активно - не фильтровать сразу - значение по умолчанию
  • +
  • Активно - фильтровать сразу, без нажатия Кнопки для фильтрации
  • +
  • - значение не определено
Применить к … позволяет задать Таблицу, по которой будет осуществляться фильтрация записей по умолчанию задана Таблица
Запомнить значения фильтра позволяет восстанавливать значения фильтров при возврате на страницу, т.е. запоминать значения фильтров (сохранять в кэше). При этом значение фильтра, заданное пользователем имеет приоритет над значением фильтра по умолчанию +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - запоминать значения фильтров
  • +
  • Не активно - не запоминать значения фильтров
Skip initial loading позволяет исключать подгрузку данных в таблицу без указания значений фильтров (пустыми фильтрами) +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - исключает возможность подгрузки данных в таблицу без указания значений фильтров, т.е. при пустых значениях фильтров при первоначальном открытии страницы или по кнопке “Найти” запрос в базу данных (по Графу сущностей таблицы) выполняться не будет
  • +
  • Не активно - позволяет подгружать данные в таблицу без указания значений фильтров, т.е. при первоначальном открытии страницы или по кнопке “Найти” будет осуществляться запрос в базу данных по пустым значениям фильтров
позволяет задатьшаблон вывода сообщения (текст сообщения), отображаемого в окне ошибки при валидации значений фильтров. По умолчанию шаблон сообщения выставлен как:“#{label}: #{message}”, где параметры интерпретируются следующим образом: #{label} -наименование компоненты, в которой произошла ошибка. #{message}-текст сообщения об ошибке Примеры возможной настройки: При пустом значений в поле* Message Validation Template* текст в окне об ошибке, отображаемом, например, при не заполнении значения в обязательном поле, будет отображаться по шаблону "\#{label}: \#{message}", где \#{label} - наименование компоненты, в которой произошла ошибка (например, поле ФИО) \#{message} - текст сообщения об ошибке (значение по умолчанию Поле обязательно). При указании конкретного текста в поле Message Validation Template,например, “Для выполнения поиска необходимо заполнить обязательные поля!”. Указываемое значение вMessage Validation Template допускает и использование атрибутов#{label} и #{message} по отдельности, например, если задать значение “#{label}: Некорректное значение в обязательном поле”, то окно об ошибке будет иметь следующий вид (рис.3), где#{label} -наименование компоненты, в которой произошла ошибка (например, поле ФИО)
+

Функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

TODO

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Как определить какие типы фильтров необходимо включить в Группу Фильтров? В зависимости от того, к какому типу относится колонка в таблице, по которой будет осуществляться поиск и фильтрация, определяется соответствующий тип фильтра. Например, если мы указываем, что необходимо фильтровать по колонке, в которой хранится текст, то в данном случае, используем Фильтр по текстовому полю, если необходимо предоставить возможность выбора значения из списка значений, то применяем Фильтр по выпадающему списку.
Есть ли ограничения по количеству включаемых фильтров в Группу фильтров? Нет.Количество фильтров определяется в зависимости от решаемой задачи.
Обязательно ли использование фильтров в диалоговом окне? Нет, необязательно.Фильтры можно отключить, скрыв видимость Панели фильтров.
В каком случае целесообразно использовать компоненту Список с поиском для выбора одного значения, а в каком Выпадающий список? Если справочник, из которого необходимо выбрать значение имеет небольшую размерность и пользователь сможет сразу найти значение без использования вспомогательных фильтров, то целесообразно использовать Выпадающий список значений. Если для удобства выбора значения необходимо отобразить дополнительные параметры в виде Таблицы, то в этом случае необходимо использовать Список с поиском для выбора одного значения.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Статичный_выпадающий_список.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Статичный_выпадающий_список.html new file mode 100644 index 0000000..61a59e0 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Статичный_выпадающий_список.html @@ -0,0 +1,144 @@ + + + + + + + + Web-BPM Docs – Статичный выпадающий список + + + + + + +
+
+ + + +
+
+

Статичный выпадающий список

+

Назначение

+

Статичный выпадающий список - это компонента, которая используется для выбора одного значения из выпадающего списка значений, источником подгрузки которых является не объект базы данных (таблица или представление), а массив данных, определенный вручную аналитиком при настройке элемента.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Статичный выпадающий список может использоваться для:

+
    + +
  1. Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Статичный выпадающий список. Сохранение значения должна быть включена)
  2. +
  3. Для отображения данных, которые были введены пользователем приложения или является константой, определённой в логике приложения(в данном случае, функция компоненты Статичный выпадающий список. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Статичный выпадающий список (без возможности сохранения) находится в разделе Компоненты - Поля - Статичный выпадающий список.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Отчетный год
Значение позволяет задать значение поля по умолчанию пример возможного значения: 2019
Список значений позволяет задать список значений, которые будут отображаться в выпадающем списке +
    +
  • надпись - позволяет задать наименование элемента в списке значений
  • +
  • значение - позволяет задать значение элемента, которое можно записать в базу данных
  • +
  • скрыть - позволяет регулировать видимость элемента в списке значений
надпись - Отчетный год, значение - 2018
Прикрепить значение (Scroll Gravity) позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений +
    +
  • По умолчанию (DEFAULT) - выбранное значение отображается в порядке своего следования в списке доступных значений для выбора
  • +
  • По центру (CENTER) - выбранное значение отображается по центру в выпадающем списке доступных значений для выбора
  • +
  • В верхней части (TOP)- выбранное значение отображается в верхней части выпадающего списка доступных значений для выбора
  • +
  • В нижней части (BOTTOM) - выбранное значение отображается в нижней части выпадающего списка доступных значений для выбора
+

Свойство компоненты: Выпадающий список. Сохранение значения

+

+

указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

сохранить значение в переменную процесса любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить_роли_текущего_пользователя

+

Заполнить значением из переменной любого типа

+

Заполнить значением из переменной процесса

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Статичный выпадающий список от компоненты Выпадающий список? Компонента Статичный выпадающий список используются для выбора значений, которые указываются аналитиком вручную при настройке компоненты, Выпадающий список используется для выбора значений, которые подгружаются из таблицы базы данных.
Все ли свойства компоненты обязательны для заполнения? Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Статичный_переключатель.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Статичный_переключатель.html new file mode 100644 index 0000000..de423f2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Статичный_переключатель.html @@ -0,0 +1,138 @@ + + + + + + + + Web-BPM Docs – Статичный переключатель + + + + + + +
+
+ + + +
+
+

Статичный переключатель

+

Назначение

+

Статичный переключатель - это компонента, которая используется для выбора одного из нескольких предоставленных вариантов.Значения берутся не из базы данных,а задаются аналитиком вручную при настройке компоненты.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Статичный переключатель может использоваться для:

+
    + +
  1. Для сохранения введеннойинформации в базу данных и отображения значения из базы данных(в данном случае, функция компоненты Статичный переключатель. Сохранение значения должна быть включена)
  2. +
  3. Для отображения значений,заданных бизнес-аналитиком или являющихся константой, определённой в логике приложения(в данном случае, функция компоненты Статичный переключатель. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Статичный переключатель находится в разделе Компоненты - Поля без сохранения - Статичный переключатель.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента. Данное свойство не применимо с логикой отображения поля на странице приложения
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Статус
Значение позволяет задать значение по умолчанию, соответствующее одному из указанных значений в настройках компоненты “Список значений” в настройке элемента “Возвращаемое значение” В списке значений компоненты указано, например, два элемента, в настройках которых заполнены поля “Возвращаемое значение”, одно из которых можно использовать в качестве значения по умолчанию для компоненты, отображаемое при отсутствиииного значения подгруженного из базы данных (через функцию Статичный переключатель. Сохранение значения)
Список значений позволяет задать значения доступные для выбора пользователем на странице со следующими настройками +
    +
  • Возвращаемое значение - позволяет задать значение, которое может быть сохранено в базу данных
  • +
  • Сделать скрытым -* позволяет регулировать видимость элемента (значения)
  • +
  • Видимое значение - позволяет задать значение, которое будет отображено пользователю
  • +
  • Сделать недоступным для выбора* - позволяет регулировать возможность управления элементом
+

Свойство Статичный переключатель. Сохранение значения

+

+

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

+

В случае, если значение поля Статичный переключатель не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется дляотображения значения, которое было введено пользователем приложения или является константой, определённой в логике приложения.

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Статичный переключатель от компоненты Переключатель? Компонента Статичный переключательиспользуются для выбора значений, которые задаются аналитиком при настройке компоненты, Переключательиспользуется для выбора значений,которые берутся из базы данных.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Статичный переключатель. Сохранение значения? Да. В случае, если функция “Статичный переключатель. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Стили-полей-ввода.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Стили-полей-ввода.html new file mode 100644 index 0000000..8688dbe --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Стили-полей-ввода.html @@ -0,0 +1,201 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Название класса css Описание
radio-invert применять для группы radiobutton с целью изменения порядка следования элементов
radio-horizontal применять для RadioButton / StaticRadioButton для горизонтального вывода (кнопки в одну строку)
check-invert применять для группы checkbox с целью изменения порядка следования элементов
ok Бледно-зеленый фон input-а
error Мигающий красный фон input-а
align-center-field Выравнивание полей по центру по горизонтали (Для корректной работы должен находиться внутри отдельного контейнера с классом align-center)
+

Растягиваемые по ширине поля

+

Пользоваться КРАЙНЕ аккуратно, возможны искажения информации!

+ + + + + + + + + + + + +
Название класса css Описание
width-full для полнотекстовых полей input и textarea. Использовать только если элемент единственный в строке!
+

Размеры полей

+ + + + + + + + + + + + + + + + + + + + + + + + +
Название класса css Описание
extra-mini 60px
mini 80px
small 150px
medium 220px
large 600px
+

Размеры надписей к компонентам

+ + + + + + + + + + + + + + + + + + + + + +
Название класса css Описание
fixed-label класс для жесткой фиксации длины метки (заголовка поля), ширина - 200px
fixed-label-small класс для жесткой фиксации длины метки (заголовка поля), ширина - 150px
fixed-label-mini класс для жесткой фиксации длины метки (заголовка поля), ширина - 100px
free-label сбрасывает изначальную ширину, принимает значение по длине текста
+

Размеры шрифтов

+ + + + + + + + + + + + + + + + + + + + + +
Название класса css Описание
font-large 1.8em
font-medium 1.4em
font-small 0.9em
font-mini 0.8em
+

Жирный шрифт

+ + + + + + + + + + + + +
Название класса css Описание
font-bold для текста
+

Компонент Text

+ + + + + + + + + + + + + + + + + + + + + +
Название класса css Описание
title класс для заголовка страницы. * При необходимости использования title на группу элементов, применять ко всему контейнеру * Применять title при наличии заголовка у объекта «fieldset».
blue (совместно с title) Синий фон заголовка
text-blink Мигающий красный текст
text-blink -blue Мигающий синий текст
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Текст.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Текст.html new file mode 100644 index 0000000..5e94c67 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Текст.html @@ -0,0 +1,146 @@ + + + + + + + + Web-BPM Docs – Текст + + + + + + +
+
+ + + +
+
+

Текст

+

Назначение

+

Текст - это компонента, которая используется для отображения статического текста на форме страницы без возможности прямого ввода значения в поле на форме приложения.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Текст может использоваться для:

+
    + +
  1. Для сохранения информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Текст. Сохранение значения должна быть включена)
  2. +
  3. Для отображения текста, который является константой, определённой в логике приложения(в данном случае, функция компоненты Текст. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке) (рис.3)
  4. +
+

Компонента Текст находится в разделе Компоненты - Поля - Текст.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Наименование организации
Значение позволяет задать значение поля по умолчанию пример возможного значения: ООО “Форт”
+

Свойство Текст. Сохранение значения

+

+

В случае, если значение в поле Текст необходимо сохранить или подгрузить из базы данных, указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение. Для выбора доступны колонки без ограничения по типу данных (например, если для Текстового поля можно выбрать только колонки имеющий строковый тип данных, то для компоненты Текст таких ограничений нет).

+

В случае, если значение поля Текст не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется для отображения текста, являющегося константой, определённой в логике приложения, например, Заголовок страницы.

+

+

Свойство Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Свойство Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Сохранить значение в переменную процесса любого типа

+

Сохранить значение в переменную процесса любого типа

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

### Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

### Добавить строку к значению в текущем поле

+

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

+

### Склеить несколько значений

+

Склеить несколько значений

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Текстовое поле от компоненты Текст? Компонента Текст используется для отображения статического текста на странице без возможности ввода значения в поле на форме,текстовое полеиспользуется для отображения и ввода текста.
Для решения каких задач чаще всего используется компонента Текст? Компонента Текст чаще всего используется для добавления Заголовка на странице или отображения каких-то текстовых примечаний для пользователя на странице без возможности их редактирования пользователем.
Какие действия необходимо выполнить для того, чтобы значение указанное в настройке поля Текст отобразилось как заголовок на странице (т.е. отличалось от других текстовых полей на странице)? Для того, чтобы элемент Текст отображался как заголовок на странице к нему необходимо применить CSS-класс “title”.
Как задать определенный цвет шрифта для значения, содержащегося в поле Текст? Для этого необходимо применить соответствующий необходимому цвету CSS-класс в настройке компоненты, например, “font-color-pink.”
Как задать определенный размер шрифта для значения, содержащегося в поле Текст? Для этого необходимо применить соответствующий необходимому размеру шрифта CSS-класс в настройке компоненты, например, "font-small.
Все ли свойства компоненты обязательны для заполнения? Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Текст. Сохранение значения? Да. В случае, если функция “Текст. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
Если в поле Текст невозможно ввести значение на странице приложения, то возможно ли выставить в него значение по определенному действию на странице? Для того, чтобы выставить в поле Текст определенное значение по событию (действию) на странице, необходимо использовать компоненту “Обработка событий”, настроив ее условия следующий образом: в условии “Когда” мы указываем событие, по которому должно происходить определение значения в поле, например нажатие на кнопку на странице или изменение значения в другом поле; в условии “Если” указываем дополнительные условия, при которых должно выполниться действие, например, значение в поле указанном в условии “Когда” - не пусто; в условии “Тогда” указываем поле Текст, которому необходимо задать значение, выбираем метод “Задать значение” во вкладке “Текст. Основные параметры” и указываем необходимое значение в зависимости от поставленной задачи, в условии “Иначе” также можно прописать ряд в действий в зависимости от поставленной задачи.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Текстовое_поле.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Текстовое_поле.html new file mode 100644 index 0000000..514bbe3 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Текстовое_поле.html @@ -0,0 +1,231 @@ + + + + + + + + Web-BPM Docs – Текстовое поле + + + + + + +
+
+ + + +
+
+

Текстовое поле

+

Назначение

+

Текстовое поле - это компонента, которая используется для отображения и ввода однострочного текста на форме страницы.

+

В зависимости от настройкисвойств, включенных по умолчанию в состав компоненты, компонента Текстовое поле может использоваться для:

+
    + +
  1. Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Текстовое поле. Сохранение значения должна быть включена) (рис.2)
  2. +
  3. Для отображения текста, который был введен пользователем приложения или является константой, определённой в логике приложения (в данном случае, функция компоненты Текстовое поле. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке) (рис.3)
  4. +
+

Компонента Текстовое поле находится в разделе Компоненты - Поля - Текстовое поле.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите название организации
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Наименование организации
Значение позволяет задать значение поля по умолчанию пример возможного значения: ООО “Форт”
Максимальная длина задаёт максимальное количество вводимых символов в поле пример возможного значения: 10
Минимальная длина (Min length) задаёт минимальное количество вводимых символов в поле
allowMoreSymbols при true позволяет пользователю ввести больше символов, чем значение максимальной длины, но при этом поле станет невалидным и будет отображено сообщение об ошибке maxLengthErrorMsg (см. документацию) логическое значение (true, false)
Оперировать немаскированным значением указывает системе порядок обработки символов маски при сохранении значения поля в базу данных +
    +
  • значение не определено - по умолчанию
  • +
  • активно - сохранять без форматирования маской
  • +
  • пустое - сохранять с форматированием маской
Значение, отформатированное маской в поле ввода как “+7~(917)-922-33-44”, может быть сохранено в поле таблицы базы данных как “+7~(917)-922-33-44” (если флажок снят) или как “9179223344” (если флажок выставлен)
Маска позволяет задать маску, в соответствии с которой пользователь будет осуществлять ввод текста выставление маски не может обеспечить выполнение требования обязательности ввода, маска только внешне отфильтровывает и форматирует последовательность вводимых пользователем символов заранее заданным образом (например, отобразит тел. номер в виде “+ 7 (917) - 101 - 02 - 03” вместо “8917010203” или не допустит такого ввода “89170102йЯ”). Для блокирования сохранения записи с пустым значением поля и обеспечения контроля обязательности ввода используйте свойство “Обязательность” Примеры масок: +
    +
  • A (буква, латинская, регистр не имеет значения) в маске - позволит ввести в поле одну любую букву любого алфавита
  • +
  • Б (буква, русская, в верхнем регистре) в маске - позволит ввести в поле одну любую букву русского алфавита
  • +
  • 9 (цифра) в маске - позволит ввести в поле одну любую цифру
  • +
  • * (символ) в маске - позволит ввести в поле одну любую цифру или букву
  • +
  • R (буква, латинская, в верхнем регистре) в маске - позволит ввести в поле одну римскую цифру
  • +
  • [ ] (внутри квадратных скобок) в маске - позволит ввести или опустить при вводе в поле один или несколько необязательных символов (букву, цифру), например 999[9]; под эту маску подходит как 123, так и 1234 Например, необходимо задать форматирование ввода маской для значения Й456QЬ. В данном случае маска может выглядеть следующим образом: Б999АА, где А - латинская буква.
Регистр позволяет задать вид регистра вводимого текста: +
    +
  • в верхнем регистре - заглавные (прописные) буквы
  • +
  • в нижнем регистре - строчные (маленькие) буквы
  • +
  • первая буква каждого слова заглавная
  • +
  • только первая буква текста заглавная, остальные строчные
  • +
  • первая буква текста заглавная
Тип позволяет задать тип вводимого текста: +
    +
  • обычный текст
  • +
  • пароль (заполнитель - звездочки)
  • +
  • электронная почта
  • +
  • URL
Регулярное выражение или Pattern позволяет задать проверку вводимого текста с помощью регулярных выражений поля, для которых не выполняются условия заданных регулярных выражений, при сохранении записи подсвечиваются красным оттенком и операция отменяется. Некоторые типовые регулярные выражения: +
    +
  • \d [0-9] - одна цифра от 0 до 9
  • +
  • \D [^0-9] - любой символ кроме цифры
  • +
  • \s - пробел
  • +
  • [A-Z] - только заглавная латинская буква
  • +
  • [A-Za-z] - только латинская буква в любом регистре
  • +
  • [А-Яа-яЁё] - только русская буква в любом регистре
  • +
  • [A-Za-zА-Яа-яЁё] - любая буква русского и латинского алфавита
  • +
  • [0-9]{3} - три цифры
+
    +
  • [A-Za-z]{6,}- не менее шести латинских букв
  • +
  • [0-9]{,3} - не более трёх цифр
  • +
  • [0-9]{5,10} - от пяти до десяти цифр
  • +
  • ^[a-zA-Z]+$ - любое слово на латинице
  • +
  • ^[А-Яа-яЁё\s]+$ - любое слово на русском включая пробелы
  • +
  • ^[ 0-9]+$ - любое число
чтобы ограничить возможность ввода и сохранения текста латиницей, можно использовать регулярное выражение ^[А-Яа-яЁё\s]+$
patterErrorMsg, maxLengthErrorMsg, minLengthErrorMsg, emailErrorMsg, urlErrorMsg позволяют задать пользовательское сообщение о соответствующих ошибках валидации строка
+

Свойство Текстовое поле. Сохранение значения

+

+

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

+

+

Свойство Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Настройка

+

Для добавления функции в логику работы компоненты необходимо нажать на кнопку Добавить скрипт - Выбрать из списка функцию, если она предусмотрена для использования с компонентой Указать переменную, в которую будет сохраняться значение из поля.

+

+

+

### Определить права текущего пользователя

+

Определить права текущего пользователя

+

### Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

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

+

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

+

Склеить несколько значений

+

Склеить несколько значений

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компонента Текстовое поле от компоненты Текст? Компонента текст используются для отображения статического текста на странице, текстовое поле используется для отображения и ввода текста.
Все ли свойства компоненты обязательны для заполнения? Нет. Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Текстовое поле. Сохранение значения? Да. В случае, если функция “Текстовое поле. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Чем отличается регулярное выражение от маски? Маска даёт простое и наглядное представление правила ввода с подстановкой дополнительных символов, а регулярное выражение позволяет задать более сложный шаблон с дополнительными условиями. Необходимо отметить, что поля, для которых не выполняются условия заданных регулярных выражений, при сохранении записи подсвечиваются красным оттенком и операция отменяется.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
Все ли типы переменных можно записать в текстовое поле? Нет. Вслучае с текстовым полем, используется строковый тип переменной (string).
Какую функцию необходимо добавить, чтобы сохранить значение из текстовогополя в переменную процесса? Для того чтобы сохранить значение из текстового поля в переменную процесса необходимо по кнопке “Добавить функцию” выбрать в списке функцию “Сохранить значение в переменную процесса любого типа”, выбрав в настройке добавленной функции необходимую переменную строкового типа (string).
Обязательно ли наличие Формы на странице для сохранения значения из текстового поля в переменную процесса? Нет, наличие Формы на странице необязательно для сохранения значения из текстового поля в переменную процесса. При переходе по процессу со страницы, где расположено текстовое поле, например, по Кнопке навигации, осуществится сохранение значения в переменную процесса при условии, что на текстовое поле добавлена функция “Сохранить значение в переменную процесса любого типа” и указана необходимая переменная процесса.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Файл.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Файл.html new file mode 100644 index 0000000..f5d1c5d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Файл.html @@ -0,0 +1,172 @@ + + + + + + + + Web-BPM Docs – Файл + + + + + + +
+
+ + + +
+
+

Файл

+

Файл - это компонента, которая сочетает в себе функциональность сохранения файлов-вложений в базу данных в кодировке base64, функциональность отображения preview уже сохраненных файлов и функциональность скачивания сохраненных в базу данных файлов-вложений на компьютер пользователя. Указание файлов, подлежащих сохранению в базу данных, осуществляется через перетягивание файлов мышью из других приложений (drag-and-drop), либо явным указанием набора файлов через системный диалог операционной системы. Режим предпросмотра включен всегда - если файлы существуют, и для них операционная система может отобразить содержимое - то компонента отображает контент в уменьшенном масштабе. Для скачивания ранее сохраненных файлов достаточно кликнуть мышью по наименованию файла, являющемуся гиперссылкой на скачивание:

+

Компонента Файл находится в разделе Компоненты - Поля - Файл.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Выберите файл для загрузки
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Файл
Максимальный размер каждого файла позволяет задать максимально разрешенный размер для каждого из загружаемых файлов, измеряется мегабайтами пример возможного значения: 10
Допустимо удаление файла позволяет настроить разрешение на удаление файла
Список доступных типов файлов позволяет сформировать список разрешенных для загрузки расширений файлов, при пустом списке можно добавлять файлы любых расширений пример возможного значения: doc
File names
+

Свойство Загрузки файлов: Настройка

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Ссылка на главную сущность графа основной формы осуществляется настройка таблиц и связей между ними для сохранения файлов-вложений.
граф сущностей настраивается в соответствии с п. Настройка Графа сущностей. Указывается только та таблица, в которую будут сохраняться вложения.
допустимое максимальное количество файлов в компоненте позволяет задать количество файлов, которые допустимо загрузить.
колонка главной сущности графа основной формы(а не графа сущности текущей компоненты) - позволяет задать наименование таблицы и колонки, указанной как главная в графе сущностей родительской компоненты Форма.
колонка с именем файла позволяет задать наименование таблицы и колонки с именем файла.
колонка с содержимым файла позволяет задать наименование таблицы и колонки для сохранения содержимого файла в base64 кодировке.
+

+

В показанной конфигурации в основную таблицу базы данных (Проекты) сохраняется информация об основным признаках проекта, т.е в новой создаваемой строке о проекте присваивается новый идентификатор, а в зависимую таблицу (Вложенные документы) со ссылкой на этот идентификатор создается 10 записей, в каждой из которых сохраняется по 1 файл вложений.

+

Таким образом, между 2 таблицами создается связь один-ко-многим с внешним ключом из зависимой таблицы вложений в основную таблицу проектов.

+

+

Для случая, когда количество вложений строго ограничено 1 (одним) файлом, параметр:

+

допустимое максимальное количество файлов в компоненте - принимает значение “1”,

+

а параметр:

+

колонка главной сущности графа основной формы - исключается из интерфейса настройки компоненты.

+

+

В показанной конфигурации в основную таблицу базы данных (Проекты) сохраняется информация как об основных признаках проекта, так и сам файл вложений.

+

Таким образом, сохранение 1 файла-вложения происходит в ту же таблицу, что и другие основные параметры сущности “проект”, без использования зависимой таблицы и без внешних ключей между сущностью “проект” и файлом-вложением .

+

Заполнить значением по умолчанию

+

Заполнить значением по умолчанию

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации скриптов (скрипты выполняются удаленно на сервере приложений, скрипты выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Все настроено верно, но компонента по-прежнему не сохраняет вложения в базу данных ? Проверьте свойство компоненты
Нужно ли включать (дублировать) в граф сущности компоненты таблицу, являющуюся главной сущностью всей компоненты Form ? Ответ зависит от ситуации ,в которой используется компонента Файл. Когда для одной основной сущности всей страницы требуется сохранить несколько файлов вложений (это большинство случаев использования компоненты) в графе сущностей компоненты Файл указывается только таблица, в которую происходит непосредственное сохранение файлов. Взаимосвязь с таблицей, представляющей главную сущность родительской компоненты Форма, осуществляется не стрелками в графе сущностей компоненты Файл, а при настройке параметров колонка главной сущности графа основной формы,колонка с именем файла,колонка с содержимым файла в интерфейсе Диспетчера компоненты Файл. Когда для одной основной сущности всей страницы требуется сохранить единственный файл вложений (редкий вариант) в графе сущностей компоненты Файлуказывается та же самая таблица, которая указана в качестве главной сущности родительской компоненты Форма.
Где в иерархии страницы следует располагать компоненту? Поскольку она уже имеет свою структуру сущности - должна ли она обязательно находиться внутри родительской компоненты Form всей страницы? Да, При любом кейсе использования компоненты Файл, эта она должна быть дочерней по отношению к компоненте Форма всей страницы и располагаться внутри ее (компоненты Форма) контейнера.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Фильтрация_источника_данных.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Фильтрация_источника_данных.html new file mode 100644 index 0000000..887fe11 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Фильтрация_источника_данных.html @@ -0,0 +1,105 @@ + + + + + + + + Web-BPM Docs – Фильтрация источника данных одного из полей с подбором значения в зависимости от выбранного значения в другом поле с подбором значения + + + + + + +
+
+ + + +
+
+

Фильтрация источника данных одного из полей с подбором значения в зависимости от выбранного значения в другом поле с подбором значения

+

Дано: 3 Autocomplete поля: Страна, область и город. Необходимо организовать последовательное заполнение этих полей.

+

Проблема: Если просто использовать 3 Autocomplete поля, без настройки,пользователь сможет выбрать несуществующую цепочку, к примеру: Германия - Татарстан - Пекин
+Нужно, чтобы в следующем уровне можно было выбирать только дочерние значения родительского уровня. В России можно выбирать только российские населенные пункты и т.д.

+

Пример настройки

+

На страницу добавлены нужные компоненты:

+
    + +
  1. Настроить Autocomplete. Autocomplete области и города сделать неактивными (Enabled = false), для того, чтобы пользователь заполнял поля последовательно.
  2. +
  3. Задать свойство filter column
    +для Autocomplete области фильтруем по странам, для города - по областям. Для Autocomplete страны не задаем.
  4. +
  5. + +

    Настраиваем ActionController’ы:
    +Настроем ActionController, который отвечает за фильтрацию области по стране. Настройка выглядит следующим образом:

    +
  6. +
+

ЕСЛИ Autocomplete страны был заполнен,

+

ТОГДА установить фильтр дляAutocomplete области (метод setFilter) по значению изAutocomplete страны.

+

А также сделать активным(Enabled = true)Autocomplete области.

+

ИНАЧЕ очистить фильтр используя метод resetFilter

+

исделать неактивным (Enabled = false) Autocomplete области.

+

5. Аналогично настраивается второйAutocomplete.

+

Фильтрация может задаваться 2 способами:

+
    + +
  1. C использованием метода getValue :
  2. +
+

Autocomplete_1:

+

Autocomplete_2:

+

Используется метод getValue:

+
    + +
  1. C помощью метода getBusinessId:
  2. +
+

Autocomplete_1:

+

Autocomplete_2:

+

Используется метод getBusinessId:

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Фильтрация_источника_данных_одного_из_полей_с_подбором_значения_в_зависимости_от_выбранного_значения_в_другом_поле_с_подбором_значения.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Фильтрация_источника_данных_одного_из_полей_с_подбором_значения_в_зависимости_от_выбранного_значения_в_другом_поле_с_подбором_значения.html new file mode 100644 index 0000000..6588db9 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Фильтрация_источника_данных_одного_из_полей_с_подбором_значения_в_зависимости_от_выбранного_значения_в_другом_поле_с_подбором_значения.html @@ -0,0 +1,105 @@ + + + + + + + + Web-BPM Docs – Фильтрация источника данных одного из полей с подбором значения в зависимости от выбранного значения в другом поле с подбором значения + + + + + + +
+
+ + + +
+
+

Фильтрация источника данных одного из полей с подбором значения в зависимости от выбранного значения в другом поле с подбором значения

+

Дано: 3 Autocomplete поля: Страна, область и город. Необходимо организовать последовательное заполнение этих полей.

+

Проблема: Если просто использовать 3 Autocomplete поля, без настройки,пользователь сможет выбрать несуществующую цепочку, к примеру: Германия - Татарстан - Пекин
+Нужно, чтобы в следующем уровне можно было выбирать только дочерние значения родительского уровня. В России можно выбирать только российские населенные пункты и т.д.

+

Пример настройки

+

На страницу добавлены нужные компоненты:

+
    + +
  1. Настроить Autocomplete. Autocomplete области и города сделать неактивными (Enabled = false), для того, чтобы пользователь заполнял поля последовательно.
  2. +
  3. Задать свойство filter column
    +для Autocomplete области фильтруем по странам, для города - по областям. Для Autocomplete страны не задаем.
  4. +
  5. + +

    Настраиваем ActionController’ы:
    +Настроем ActionController, который отвечает за фильтрацию области по стране. Настройка выглядит следующим образом:

    +
  6. +
+

ЕСЛИ Autocomplete страны был заполнен,

+

ТОГДА установить фильтр дляAutocomplete области (метод setFilter) по значению изAutocomplete страны.

+

А также сделать активным(Enabled = true)Autocomplete области.

+

ИНАЧЕ очистить фильтр используя метод resetFilter

+

исделать неактивным (Enabled = false) Autocomplete области.

+

5. Аналогично настраивается второйAutocomplete.

+

Фильтрация может задаваться 2 способами:

+
    + +
  1. C использованием метода getValue :
  2. +
+

Autocomplete_1:

+

Autocomplete_2:

+

Используется метод getValue:

+
    + +
  1. C помощью метода getBusinessId:
  2. +
+

Autocomplete_1:

+

Autocomplete_2:

+

Используется метод getBusinessId:

+ +
+
+

Attachments:

+
+ + +
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Флаг.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Флаг.html new file mode 100644 index 0000000..d2fabde --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Флаг.html @@ -0,0 +1,138 @@ + + + + + + + + Web-BPM Docs – Флаг + + + + + + +
+
+ + + +
+
+

Флаг

+

Назначение

+

Флаг - это компонента, которая используется для проставления отметок в виде “флажков - галочек” в группе из нескольких доступных пользователю вариантов выбора значений. Отличается от компоненты Переключатель тем, что предоставляет выбор сразу нескольких значений вместо одного из альтернативных. При одиночном использовании (не в составе группы) может использоваться как включатель/выключатель какой-либо функциональности, разработанной аналитиком на web-странице. В этом случае используется совместно с компонентой Обработка Событий, которая управляет реакцией системы на изменение значения компоненты Флаг.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Флаг может использоваться для:

+
    + +
  1. Для сохранения введеннойинформации в базу данных и отображения значения из базы данных(в данном случае, функция компоненты Флаг. Сохранение значения должна быть включена)
  2. +
  3. Для отображения значений,которые были введены пользователем приложенияили являются константой, определённой в логике приложения (в данном случае, функция компоненты Дата. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Флаг (без возможности сохранения) находится в разделе Компоненты - Поля - Флаг

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента данное свойство не применимо с логикой отображения поля на странице приложения
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Пример поля Флаг
Значение позволяет задать значение по умолчанию, которое примет компонента при открытии страницы в приложении, значение типа Boolean (TRUE, FALSE, UNDEFINED) Истина (TRUE), Ложь (FALSE), Не определено (UNDEFINED) - значение по умолчанию
Allow null позволяет регулировать возможность выбора (отображения) значения “Не определено (UNDEFINED)” при работе с полем Флаг Активно - позволяет выбирать значение “Не определено (UNDEFINED)” пользователем при работе с полем на ряду со значениямиИстина (TRUE) иЛожь (FALSE), Не активно - исключает возможность выбора значения “Не определено (UNDEFINED)” пользователем при работе с полем, т.е. к выбору доступны только два значения Истина (TRUE) и Ложь (FALSE)- значение по умолчанию
+

Свойство Флаг.Сохранение значения

+

+

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

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

сохранить значение в переменную процесса любого типа

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Вопрос Ответ
Чем отличается компоненты Флаг и Переключатель? в компоненте Переключатель в один и тот же момент времени может быть выбрано только единственное значение из нескольких возможных, тогда как компонент Флаг предоставляет возможность одновременно выбрать несколько вариантов из предложенных. При этом, поскольку компонента Переключатель предоставляет выбор только одного варианта, то в базу данных сохраняется разные значения, но в одну колонку для всех вариантов. Для компоненты Флаг для каждого варианта должна быть предусмотрена своя колонка.
Чем отличается компоненты Флаг и Переключатель? в компоненте Переключатель в один и тот же момент времени может быть выбрано только единственное значение из нескольких возможных, тогда как компонент Флаг предоставляет возможность одновременно выбрать несколько вариантов из предложенных. При этом, поскольку компонента Переключатель предоставляет выбор только одного варианта, то в базу данных сохраняется разные значения, но в одну колонку для всех вариантов . Для компоненты Флаг для каждого варианта должна быть предусмотрена своя колонка.
Сохраняет ли в базу данных свои значения компонента Флаг? КомпонентаФлаг, для которой указана колонка для сохранения, обеспечивает и сохранение значения в базу данных, и чтение из нее. КомпонентаФлаг, без параметра “колонка для сохранения в БД” не сохраняет свое значение в базу данных. Но зато может использоваться для динамического управления интерфейсом страницы, на которой расположена. Пример такой настройки приведен в разделе методических рекомендаций.
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Можно ли расположить сам Флаг на странице с левой стороны от наименования поля? Да. Если на странице необходимо отображать сначала сам Флаг, а после Наименование этого поля, то необходимо использовать CSS-класс “check-invert”. После применения CSS-класса поле Флаг будет выглядеть следующим образом:(вместо стандартного отображения)
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство Флаг. Сохранение значения? Да.В случае, если функция “Флаг. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Числовое_поле.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Числовое_поле.html new file mode 100644 index 0000000..0dcfa60 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/fields/Числовое_поле.html @@ -0,0 +1,165 @@ + + + + + + + + Web-BPM Docs – Числовое поле + + + + + + +
+
+ + + +
+
+

Числовое поле

+

Назначение

+

Числовое поле - это компонента, которая используется для отображения и ввода чисел на форме страницы.

+

В зависимости от настройки свойств, включенных по умолчанию в состав компоненты, компонента Числовое поле может использоваться для:

+
    + +
  1. Для сохранения введенной информации в базу данных и отображения значения из базы данных (в данном случае, функция компоненты Числовое поле. Сохранение значения должна быть включена)
  2. +
  3. Для отображения числа, которые было введено пользователем приложения или является константой, определённой в логике приложения(в данном случае, функция компоненты Числовое поле. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)
  4. +
+

Компонента Числовое поле находится в разделе Компоненты - Поля - Числовое поле.

+

Свойства

+

Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Введите год
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Год
Значение по умолчанию позволяет задать значение поля по умолчанию, которое будет отображаться на странице пример возможного значения: 100
Минимальное возможное значение позволяет задать минимально возможное значение числа, меньше которого пользователь ввести не сможет пример возможного значения: 0
Максимальное возможное значение позволяет задать максимально возможное значение числа, больше которого пользователь ввести не сможет пример возможного значения: 2999
Шаг увеличения позволяет задать шаг увеличения значения числа пример возможного значения: 1
maxValueErrorMsg, minValueErrorMsg, numberErrorMsg позволяют задать пользовательское сообщение о соответствующих ошибках валидации строка
+

Свойство Числового поля: Сохранение значения

+

+

В случае если значение в числовом поле необходимо сохранить или подгрузить из БД, указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение. Если же числовое поле не требуется сохранять в БД или подгружать из БД, то данное свойство удаляется. Данный вариант может быть необходим, когдачисловое поле используется для отображения текста,который был введен пользователем приложенияили является константой, определённой в логике приложения.

+

+

Базовые функции

+

Заполнить значением по умолчанию

+

Подгрузка данных по умолчанию

+

Заполнить значением из переменной процесса

+

Заполнить значением из переменной процесса

+

Дополнительные функции

+

В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

+

Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

+

Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

+

Определить права текущего пользователя

+

Определить права текущего пользователя

+

Определить роли текущего пользователя

+

Определить роли текущего пользователя

+

Включить вычисление математических операций

+

Включить вычисление математических операций

+

Включить конвертирование значений

+

TODO desribe function

+

Функция, которая не имеет настраиваемых аналитиком параметров, но будучи задействованной, позволяет осуществить преобразование значения в исходном компоненте из текущего типа (чаще всего, в компоненте Поле ввода с подбором значенияиз типа данных ANY) в целочисленный тип данных.

+

Она относится к той группе функций, чья функциональность применяетсяи может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется нескольконовых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ в компоненте Поле ввода с подбором значения выбрано (изменилось) значение, ТО в компоненту числовое поле вывести идентификатор(первичный ключ) этого значения’

+

+

Рис.1 Активация функции на компоненте Поле ввода с подбором значения

+

+

Рис.2 Числовое поле, в которое будем записывать идентификатор значения из компонента Поле ввода с подбором значения

+

+

Рис. 3 Пример алгоритма заполнения числового поля идентификатором значения, выбранного в поле с Постановщиком задачи, при условии расширения функциональности исходной компоненты Поле ввода с подбором значения функцией Сконвертировать значение в целочисленный тип; (появился новый метод Сконвертировать в число; у исходной компоненты)

+

+

Рис.4 Пример невозможности построения алгоритма из-за отсутствия необходимого метода Сконвертировать в число, вследствие удаления функции Сконвертировать значение в целочисленный тип из исходной компоненты Поле ввода с подбором значения Постановщик задачи (пропал метод Сконвертировать в число у исходной компоненты)

+

После запуска web-приложения (in runtime mode) выбираем в компоненте Список с поиском одно из значений (например, постановщика задачи с фамилией Дякин), после этого значение идентификатора (первичный ключ сотрудника по фамилии Дякин в справочнике) переносится в поле"Идентификатор постановщика", а в консоли браузера можно наблюдать сообщение о срабатывании компоненты Обработка событий, которое показывает выполненное функцией действие.

+

+

Рис 5.Выбираем Постановщика задачи

+

+

Рис.6 Функция заполняет числовое поле идентификатором

+

Сохранить значение в переменную процесса

+

Сохранить значение в переменную процесса любого типа

+

Методические рекомендации по применению

+

Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

+ +

Часто задаваемые вопросы

+ + + + + + + + + + + + + + + + + + +
Вопрос Ответ
В каком случае используется числовое поле, а в каком текстовое? Использование того или иного компонента зависит от типа поля в базе данных, в которую предполагается сохранение данных. Например, если поле в базе данных текстовое (text, char и т.п.), то используется компонента - текстовое поле.
Можно ли в числовое поле вводить отрицательные числа? Да, можно.
Можно ли в числовое поле вводить нецелые числа? Да, например, 3,25.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/ColumnNavigationRenderer.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/ColumnNavigationRenderer.html new file mode 100644 index 0000000..c8349c3 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/ColumnNavigationRenderer.html @@ -0,0 +1,70 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Скрипт для настройки переходов по ячейке в новых таблицах GridV2. Накидывается на колонку GridV2Column.

+

Правила настройки:

+
    + +
  1. + +

    В отличие от NavigateOnGridCellOrRow, в данном скрипте не нужно проставлять индексы колонок:

    +
      + +
    • Если необходимо использовать значение из данной колонки, а не идентификатор (isPk == false), то свойство useSelfValue выставляем в true.
    • +
    • Если нужно взять значение из другой, то накидываем соответствующую колонку в поле valueColumn.
    • +
    +
  2. +
  3. + +

    Все остальные свойства настраиваются по аналогии со свойствами в NavigateOnGridCellOrRow.

    +
  4. +

+

Примеры заполнения:

+

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/CustomSqlLoadDao-и-CustomSqlFormDao.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/CustomSqlLoadDao-и-CustomSqlFormDao.html new file mode 100644 index 0000000..ee03936 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/CustomSqlLoadDao-и-CustomSqlFormDao.html @@ -0,0 +1,53 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Расположение в студии: database\dao\CustomSqlLoadDao.java, dao\container\CustomSqlFormDao.java

+

Описание: скрипты добавляют возможность задания оптимизированного запроса в виде текста. Статичные параметры должны быть прописаны в тексте запроса, а динамические в тексте запроса должны быть определены знаком ‘?’ и заданы в переменных процесса (parameterVariables).

+

CustomSqlLoadDao необходим для загрузки данных таблицы и загрузки данных по умолчанию, а CustomSqlFormDao для загрузки данных формы.

+

CustomSqlLoadDao необходимо добавить вместо DefaultLoadDao, а CustomSqlFormDao необходимо добавить вместо FormDao.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/GridServiceWithAggregationColumnsImpl-агрегация.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/GridServiceWithAggregationColumnsImpl-агрегация.html new file mode 100644 index 0000000..6909631 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/GridServiceWithAggregationColumnsImpl-агрегация.html @@ -0,0 +1,52 @@ + + + + + + + + Web-BPM Docs – Применение агрегирующих функций + + + + + + +
+
+ + + +
+
+

Применение агрегирующих функций

+

Для того чтобы применить агрегирующую функцию на колонку, необходимо во вкладке “Таблица. Подгрузка данных” выбрать скрипт GridServiceWithAggregationColumnsImpl и в нужной колонке выбрать агрегирующую функцию. В таком случае к запросу будет применен group by без агрегирующихся колонок.

+

! Примечание: если среди агрегирующихся колонок есть та, которая принадлежит главной сущности, то вместо id главной сущности каждой строке будет присвоен фиктивный идентификатор, соответсвующий его порядковому номеру в результирующей таблице.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/GridV2.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/GridV2.html new file mode 100644 index 0000000..26851cc --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/GridV2.html @@ -0,0 +1,264 @@ + + + + + + + + Web-BPM Docs – GridV2 + + + + + + +
+
+ + + +
+
+

GridV2

+

Назначение

+

GridV2 - это компонента, которая используется для отображения информации из базы данных в табличном виде с возможностью сортировки записей в нужном порядке.

+

Свойства

+

Компонента имеет набор общих свойств.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список или Таблицей
multiselectable Выбор более 1 строки Да/Нет. По умолчанию ???
checkboxColumn ТУДУ: нельзя менять ширину колонки. Отобразить колонку с флажками для выбора значений. Свойство активно, если задано multiselectable = true Да/Нет
checkboxHeader Добавить выбор/снятие выбора для всех элементов. Свойство активно, если задано checkboxColumn == true Да/Нет
pinnedBottomRowLabel ТУДУ Подпись, которая видна, только если задать checkboxColumn=true ?!!!
rowClickSelectionType Выбор действия по нажатию левой кнопки мыши : SUPPRESS_SELECT_CLICK - запрет выбора строк, MULTI_SELECT_CLICK - выбор нескольких строк, SINGLE_SELECT_CLICK - выбор 1 строки. По умолчанию - SINGLE_SELECT_CLICK.
showRowNumber ТУДУ: нельзя менять ширину колонки. Отобразить колонку с порядковым номером строки Да/Нет. По умолчанию - нет
floatingFilter Добавить компоненты фильтрации в шапке Да/Нет. По умолчанию - нет
loadOnInit Загружать данные при инициализации Да/Нет. По умолчанию - да
pagination Показать элементы для переключения между страницами Да/Нет. По умолчанию - нет
fetchSize
rowModelType Тип загрузки данных INFINITE_LOAD - постраничная загрузка данных, CLIENT_SIDE - загрузка всех данных. По умолчанию - CLIENT_SIDE
+

Расширенные свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
headerHeight высота заголовка
rowHeight высота строки
autoStretchColumns ТУДУ: AutoSizeColumn? Растянуть колонки по содержимому Да/нет
loadingOverlayType способ отображения процесса загрузки данных TEXT_OVERLAY - визуализация внутри грида, PROGRESS_BAR - блокирующий прогресс бар на странице
loadingOverlayMessage Сообщение при загрузке данных. Свойство видно если задано loadingOverlayType=TEXT_OVERLAY По умолчанию “Загрузка данных, пожалуйста, подождите.”
noRowsOverlayMessage Сообщение при отсутствии данных. Свойство видно если задано loadingOverlayType=TEXT_OVERLAY По умолчанию “Данные отсутствуют”
theme Визуализация таблицы (темы) BOOTSTRAP, BALHAM, BALHAM_DARK, BLUE, DARK, MATERIAL, FRESH
allowContextMenuWithControlKey Если нет, то при нажатии Ctrl и правой кнопки будет отображение контекстное меню браузера. Иначе всегда контекстное меню таблицы. Да/Нет.
saveColumnState Сохранять ли состояние колонок грида в локальный кэш браузера
gridConfigurationRowHeight Высота строки в диалоге конфигурации колонок грида
+

GridV2Column

+

Назначение

+

Для настройки колонок в GridV2 добавлена компонента GridV2Column, с помощью которой на клиентской части можно настраивать отображение и экспорт данных в колонке.

+

Свойства

+ + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Value Formatter Форматирование исходных данных для корректного отображения. При задании серверного и клиентского форматера возможно непредвиденное поведение. Форматирование будет применяться и на строку Итого. Принимает один из возможных форматеров (см. раздел Value Formatter ниже). По умолчанию выбран DefaultValueFormatter
File Export Formatter Форматирование исходных данных для корректного экспорта. Принимает один из возможных форматтеров (см. раздел Export Formatter ниже).
Renderer Позволяет изменить внешний вид GridV2Column (напр. цвет текста). Принимает один из возможных GridCellValueRenderer скриптов.
+

Value Formatter

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование форматера Назначение форматера Настраиваемые значения
DateFormatter Преобразует дату из стандартного (ISO) формата в формат DD.MM.YYYY -
DateTimeFormatter Преобразует дату из стандартного (ISO) формата в формат DD.MM.YYYY hh.mm.ss -
DefaultValueFormatter Предназначен для замены null-значений на настраиваемое noDataValue - значение, на которое будет заменяться null, по умолчанию настроено значение пустой строки
ReplaceValueFormatter Заменяет значения, указанные в Regex, на значения, указанные в New Value No Data Value - значение, на которое будет заменяться null, по умолчанию настроено значение пустой строки
Value To Replace - список пар значений Regex, New Value;
Regex - регулярное выражение, которое используется при поиске;
New Value - значение, на которое нужно заменить.
+

File Export Formatter

+ + + + + + + + + + + + + + + + + + +
Наименование форматера Назначение форматера Настраиваемые значения
DateExportFormatter Преобразует дату из стандартного (ISO) формата в формат DD.MM.YYYY -
DateTimeExportFormatter Преобразует дату из стандартного (ISO) формата в формат DD.MM.YYYY hh.mm.ss -
+

Renderer

+ + + + + + + + + + + + + + +
Наименование скрипта Назначение форматера Настраиваемые значения
ChangeColorOnColumnValueColumnCellRenderer Позволяет изменять цвет текущего GridV2Column на основе значения из любого GridV2Column на странице Grid Column - позволяет указать GridV2Column, который будет использоваться для сравнения значений. Color For Value - позволяет выбрать цвет для каждого значения, которому равен выбранный GridV2Column.
+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/MaskCellValueFormatter.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/MaskCellValueFormatter.html new file mode 100644 index 0000000..9f1e274 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/MaskCellValueFormatter.html @@ -0,0 +1,51 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Описание: Форматер для колонок GridV2, задает маску для отображения колонки.

+

Использование: Выбрать скрипт MaskCellValueFormatter.ts на объект GridV2Column в valueFormatter. Поле mask - обязательное, для задачи маски. Поле regex - регулярное/не регулярное выражение. Поле casing - отвечает за регистр, может принимать значения null, “upper”, “lower” or “title”.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html new file mode 100644 index 0000000..c06953a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html @@ -0,0 +1,98 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Скрипт для настройки переходов по строке (одинарный, двойной клик) и по ячейке: по процессу, по внешней/внутренней ссылке, к диалогу. Накидывается на таблицу.

+

Правила настройки:

+
    + +
  1. + +

    Для начала нужно выбрать направление перехода redirectionType: BPMN (по процессу), LINK (по ссылке) или DIALOG (к диалогу).

    +

    > Большинство остальных свойств настраиваются по аналогии со свойствами в старых скриптах > (SelectAndNavigateCellGridConfigurator, NavigateOnClickGridRow, NavigateOnDoubleClickGridRow).

    +
  2. +
  3. + +

    Вместо identityColumnIndex используется valueColumnIndex - индекс колонки, из которой берем значения (необязательно идентификатор).

    +
  4. +
  5. + +

    Для таблиц типа GridV2 добавлено свойство columnGroupIndex:

    +
      + +
    • Нумерация групп начинается с 1 с учетом индексов колонок, НЕ входящих в группы.
    • +
    • Если колонка принадлежит группе, то необходимо указать индекс columnGroupIndex. Индекс самой колонки начинается с 1 внутри группы.
    • +
    • Если колонка не принадлежит ни одной из групп, то свойство columnGroupIndex оставляем незаполненным (либо 0).
    • +
    +
  6. +
  7. + +

    Сегмент ссылки передается как resources:

    +
      + +
    • Образец внешней ссылки: https://www.wildberries.ru/catalog/${sku}/detail.aspx
    • +
    • Образец внутренней ссылки: products/ru.cg.webbpm.packages.base:resources:jar:3.175.0
    • +
    +
  8. +
  9. + +

    Для ссылок (baseRoute) добавлено свойство isAbsolute:

    +
      + +
    • Если ссылка внутренняя (isAbsolute == false), то для нее можно задать свойство openInNewTab. При true ссылка откроется в новой вкладке.
    • +
    • Если ссылка внешняя, она всегда будет открываться в новой вкладке.
    • +
    +
  10. +
  11. + +

    При настройке перехода к диалогу на свойство dialog необходимо накинуть соответствующий объект диалога.

    +
  12. +

+

Для того чтобы настроить переходы без индексов, необходимо использовать скрипты RowNavigationHandler и ColumnNavigationRenderer. Работают только для GridV2.


+

Пример заполнения:

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/RowNavigationHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/RowNavigationHandler.html new file mode 100644 index 0000000..48db3da --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/RowNavigationHandler.html @@ -0,0 +1,69 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Скрипт для настройки переходов по строке в новых таблицах GridV2. Накидывается на таблицу GridV2.

+

Правила настройки:

+
    + +
  1. + +

    В отличие от NavigateOnGridCellOrRow, в данном скрипте не нужно проставлять индексы колонок:

    +
      + +
    • Если в навигации не используем идентификатор (isPk == false), то колонку, из которой берем значения, накидываем в поле valueColumn.
    • +
    +
  2. +
  3. + +

    Все остальные свойства настраиваются по аналогии со свойствами в NavigateOnGridCellOrRow.

    +
  4. +

+

Примеры заполнения:

+

+

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/SelectAndNavigateCellGridConfigurator.ts-(Колонки-с-навигацией).html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/SelectAndNavigateCellGridConfigurator.ts-(Колонки-с-навигацией).html new file mode 100644 index 0000000..2e28bfb --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/SelectAndNavigateCellGridConfigurator.ts-(Колонки-с-навигацией).html @@ -0,0 +1,58 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
+
+ + + +
+
+

Скрипт предназанчен для отображения колонки(колонок) грида как ссылки для перехода на другую страницу. Скрипт доступен для добавления в любой грид.

+

Параметры:

+

variable - переменная процесса, в которую будет сохранено значение(идентификатор) из ячейки-ссылки, на которой было нажатие.

+

navigableColumns - массив элементов вида:

+

renderColumnIndex - индекс колонки, которую нужно отобразить как ссылку, нумерация начинается с 1.

+

isPk - сохранять в переменную ‘_variable’_ значение первичного ключа строки, в которой была нажата ячейка-ссылка. Если isPk=true, то в переменную ‘variable’ сохраняется первичный ключ строки, иначе надо указать индекс колонки(identityColumnIndex), из которой брать значение

+

identityColumnIndex - поле видно, если isPk = false, указывает на индекс колонки, из которой будет взято значение для сохранения в переменную
+‘variable’ . Нумерация начинается с 1

+

navigateTo - значение которое будет передано в переменную для навигации.

+
+
+
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/index.html new file mode 100644 index 0000000..36d30ab --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/index.html @@ -0,0 +1,72 @@ + + + + + + + + Web-BPM Docs – Таблицы + + + + + + + +
+
+
+
+

© 2023 +Micord +

+
+

Built by Maven +

+
+
+ + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Древовидная_таблица.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Древовидная_таблица.html new file mode 100644 index 0000000..1071ef2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Древовидная_таблица.html @@ -0,0 +1,182 @@ + + + + + + + + Web-BPM Docs – Древовидная таблица + + + + + + +
+
+ + + +
+
+

Древовидная таблица

+

Назначение

+

Древовидная таблица - это компонента, которая используется для отображения иерархических данных из таблицы базы данных в виде дерева (каждую запись, можно назвать узлом или ветвью, которая может иметь один или несколько подразделов, то есть дочерних записей). При работе с элементом на странице можно развернуть каждую запись таблицы для просмотра подпунктов (если такие существуют), а также свернуть, чтобы их скрыть. Источником подгрузки данных в компоненту является иерархическая таблица базы данных (определенная в качестве Главной сущности в Редакторе структуры сущностей элемента), представляющая собой набор элементов данных (записей), связанных между собой иерархическими связями. Иерархические связи - это связи, в которых один из элементов данных является родителем другого элемента, то есть в таблице присутствует внешний ключ (например, parent_id), ссылающийся на первичный ключ этой же таблицы базы данных.

+

Компонента Древовидная таблица находится в разделе Компоненты - Таблицы - Древовидная таблица (рис.1)

+

Примером использования компоненты Древовидная таблица можно привести задачу, когда на странице необходимо отобразить справочник ОКТМО (Общероссийский классификатор территорий муниципальных образований), где каждый муниципальный район будет отображаться вместе со входящими в него сельскими и городскими поселениями, в виде дерева. В данном случае, Алексеевский муниципальный район будет считаться родителем для входящих в него сельских поселений, например, Лебяжинское, Майнское и др., которые считаются по отношению к нему дочерними записями. При этом на пользовательской странице родительская запись в таблице будет отображаться вместе с подсчитанным числом относящихся к нему дочерних записей, выведенным в скобках после значения, отображаемого в первом столбце таблицы, например, 92606000 (20), где 92606000 - это код муниципального района, а (20) - количество поселений входящих в данный муниципальный район.

+

+

рис.1 Компонента Древовидная таблица

+

+

рис.2 Пример использования компоненты Древовидная таблица на странице

+

Свойства

+

Компонента имеет набор общих свойств.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Наименование свойства Назначение свойства Принимаемые значения
Показывать номер строки позволяет задать автоматическую нумерацию строк +
    +
  • значение не определено - по умолчанию
  • +
  • Активно - отображать нумерацию строк
  • +
  • Не активно - не отображать нумерацию строк
Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список или Таблицей
Root id equal parent id В случае, если корневой элемент таблицы имеет id равный родительскому id, свойство позволяет переопределить построение иерархии +
  • Значение не определено/Не активно - по умолчанию.
  • +
  • Активно - корневой элемент ссылается сам на себя при построении таблицы
  • Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
      +
    • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
    • +
    • MULTI_SELECT_CLICK– при каждом клике на строку не сбрасываются предыдущие выбранные строки. Например, если вы кликнули на одну строку, а затем на другую, то первая строка останется выбранной. В этом случае клик по уже выбранной строке снимает выделение (deselect). Эта настройка полезна для touch-устройств, у которых нет клавиш Ctrl или Shift.
    • +
    • SUPPRESS_SELECT_CLICK– сроки не будут выбираться при клике. Например, если вы хотите выбирать строки только при нажатии на чекбокс.
    +

    Свойство компоненты: Таблица. Задействовать режим выбора нескольких строк

    + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Допустимо выбрать несколько строк позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
      +
    • возможность выбора сразу нескольких или одной строки
    • +
    • возможность выбора одной строки - значение по умолчанию
    Колонка “Флагов” позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой Таблица +
      +
    • значение не определено - значение по умолчанию
    • +
    • Активно - отображать колонку флагов
    • +
    • Не активно - не отображать колонку флагов
    +

    Свойство компоненты: Древовидная таблица. Подгрузка данных

    +

    +

    Позволяет задать Граф сущностей для подгрузки данных в Таблицу и Колонку, указывающую на родительский элемент для построения древовидной структуры. Является обязательным к заполнению и настройке.

    +

    Сущность - это объект с которым работают в графе. В качестве объекта могут быть: таблицы и представления (вью) из базы данных. Понятие сущности не равно понятию таблицы, поскольку одна таблица может быть добавлена в граф несколько раз.

    +
      + +
    • Колонка, указывающая на родительский элемент - это колонка иерархической таблицы базы данных, включенной в качестве Главной сущности
    • +
    • в структуру сущности элемента Древовидная таблица, которая является внешним ключом (например,parent_id), ссылающимся на первичный ключ
    • +
    • этой же таблицы базы данных.
    • +
    +

    с описанием настройки Графа сущностей для Таблицы можно ознакомиться в разделе: Настройка Графа сущностей

    +

    Свойство компоненты: Таблица. Настроить колонки таблицы

    +

    +

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

    +

    с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

    +

    Функции

    +

    В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

    +

    Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

    +

    Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

    +

    Определить права текущего пользователя

    +

    Определить роли текущего пользователя

    +

    Очистить форматирование колонок таблицы

    +

    Преобразовать в колонки со значениями-переходами

    +

    Методические рекомендации по применению

    +

    Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

    + +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    Как задать ширину Таблицы? Для того, чтобы настроить ширину или высоту таблицы необходимо в Основных настройках - Расширенные настройки - Стилизадать необходимые значения для настраиваемых параметров, например, Ширина 500px.
    Как задать ширину колонок в процентах? Для задания ширины колонок в процентах необходимо выставить нужный процент в поле width и поставить галочку “Автоматически выравнивать по ширине” (autoStretchColumns)
    Можно ли поменять порядок отображаемых колонок в Таблице? Для того, чтобы изменить порядок колонок в Таблице необходимо в свойстве Настроить колонки таблицы - Колонкинажать правой кнопкой мыши на «Элемент»ивыбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент
    Как настроить возможность многострочного выбора записей в Таблице? Для того, чтобы настроить многострочный выбор (одновременный выбор нескольких) записей в Таблице необходимо в разделеТаблица. Задействовать режим выбора нескольких строкустановить свойство Допустимо выбрать несколько строк в значение(истина).
    Можно ли поменять порядок отображаемых колонок в Таблице? Для того, чтобы изменить порядок колонок в Таблице необходимо в свойстве Настроить колонки таблицы - Колонкинажать правой кнопкой мыши на «Элемент»ивыбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент
    Можно ли добавлять в Граф сущностейдополнительные таблицы, ссылающиеся на главную иерархическую таблицу, и отображать значения их колонок в Древовидной таблице? Да, можно. Добавление к Главной сущности компоненты (иерархической таблице) связанных с ней таблиц базы данных, никак не изменяет логики работы и отображения данных в Древовидной таблице.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_Таблицу_на_страницу_с_фильтрацией_записей_по_условию_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_Таблицу_на_страницу_с_фильтрацией_записей_по_условию_.html new file mode 100644 index 0000000..5402594 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_Таблицу_на_страницу_с_фильтрацией_записей_по_условию_.html @@ -0,0 +1,104 @@ + + + + + + + + Web-BPM Docs – Как добавить Таблицу на страницу с фильтрацией записей по условию? + + + + + + +
    +
    + + + +
    +
    +

    Как добавить Таблицу на страницу с фильтрацией записей по условию?

    +

    Постановка задачи: необходимо реализовать на пользовательской странице Реестра заявлений элемент Таблица, в которой будет отображаться информация о поступивших заявлениях на получение лицензии. Перечень заявлений доступных для просмотра пользователю (сотруднику) и отображаемых в Таблице должен определяться в зависимости от того, к какому территориальному органу относится сотрудник, то есть сотрудник Чистопольского территориального органа должен видеть заявления, зарегистрированные только в этом территориальном органе, заявления из других объектов не должны отображаться ему в Таблице.

    +

    Таблица с заявлениями должна иметь следующие настройки:

    +
      + +
    • в Граф сущностей в качестве Главной сущности должна быть определена таблица заявлений (application), которая будет связана с другими таблицами базы данных, где содержится дополнительная информация для вывода на страницу как тип заявления, данные по организации-заявителю, территориальный орган
    • +
    • в структуре Графа сущностей должно быть задано условие (фильтр), которое будет регулировать отображаемые записи в Таблице в зависимости от территориального органа сотрудника, просматривающего страницу. Ограничение можно задать приравняв значение из таблицы базы данных Территориальный орган (предварительно включенной в Граф сущностей) к переменной процесса div_code, значение которой определяется в зависимости от учетной записи пользователя и заполняется перед открытием страницы Реестр заявлений.
    • +
    • в структуру Таблицы должно быть включено шесть колонок (источником подгрузки значений из базы данных будут служить заданные в Графе сущностей таблицы): +
        + +
      • Номер заявления
      • +
      • Дата заявления
      • +
      • Наименование организации
      • +
      • Цель обращения
      • +
      • Инн
      • +
      • Территориальныйорган
      • +
      +
    • +
    • сортировка записей в Таблице должна осуществляться по дате заявления (по убыванию)
    • +
    +

    Решение задачи:

    +

    Предполагается, что страница Реестра заявлений уже создана бизнес-аналитиком и в логике бизнес-процесса определена необходимая переменная процесса div_code, значение которое заполняется перед открытием страницы пользователем. Для добавления на страницу и настройки Таблицы необходимо сделать следующее:

    +
      + +
    • добавить внутрь страницы компоненту Таблица (рис.1)
    • +
    • в настройках добавленной Таблицы перейти к разделу Таблица. Подгрузка данных - Источник данных - Граф сущностей и настроить его в соответствии с условием задачи. Во вкладке Структура открывшегося Редактора структуры сущностей необходимо задать условие (фильтр) по территориальному органу сотрудника-пользователя (рис.2)
    • +
    +

    + +
    +
    рис.1 Добавление элемента Таблица на страницу
    +рис.2 Настройка Графа сущностей Таблицы и условия фильтрации записей
    +
    + + +

    +

    рис.5 Настройка колонок Таблицы

    +

    +

    рис.6 Настройка колонок Таблицы

    +

    +

    рис.7 Настройка сортировки в Таблице по дате заявления

    +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и записи в Таблице с заявлениями отображаются согласно заданному условию (фильтру) в структуре сущностей компоненты (рис.8). При удалении данного условия из логики настройки Таблицы, подгружаются данные по все территориальным органам вне зависимости от того к какому отделу относится сотрудник-пользователь, просматривающий страницу (рис.9).

    +

    рис.8 Визуальное отображение выполнения условий задачи

    +

    +

    рис.9 Отображение данных в Таблице без применения условия по территориальному органу

    +

    image2019-3-7\_15-22-36.png Screenshot\_9.png Screenshot\_9.png
    +image2019-3-7\_15-26-43.png Screenshot\_6.png
    +image2019-3-7\_15-59-25.png Screenshot\_7.png
    +Screenshot\_8.png
    +Screenshot\_3.png
    +Screenshot\_4.png

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_на_страницу_Таблицу_с_постраничным_отображением_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_на_страницу_Таблицу_с_постраничным_отображением_.html new file mode 100644 index 0000000..e48991f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_на_страницу_Таблицу_с_постраничным_отображением_.html @@ -0,0 +1,102 @@ + + + + + + + + Web-BPM Docs – Как добавить на страницу Таблицу с постраничным отображением? + + + + + + +
    +
    + + + +
    +
    +

    Как добавить на страницу Таблицу с постраничным отображением?

    +

    Постановка задачи: необходимо реализовать на пользовательской странице Реестра сведений о розничных ценах по товарамэлемент Таблица с постраничным отображением, в которой будет отображаться информация о предоставленных и зарегистрированных сведениях о ценах на продовольственные товары по территориальным органам и входящих в него районах.

    +

    Таблица со сведениями должна иметь следующие настройки:

    +
      + +
    • в Граф сущностей в качестве Главной сущности должна быть определена таблица сведений (price_monitor_report), которая будет связана с другими таблицами базы данных, где содержитсядополнительная информация для вывода на страницу как территориальный орган, район, статус обработки, тип сведения
    • +
    • в структуру Таблицы должно быть включено семь колонок (источником подгрузки значений из базы данных будут служить заданные в Графе сущностей таблицы): +
        + +
      • Территориальный орган
      • +
      • Район
      • +
      • Наименование предоставляемых сведений
      • +
      • Период отчетности
      • +
      • Торговый объект
      • +
      • Статус
      • +
      • Комментарий
      • +
      +
    • +
    • сортировка записей в Таблице должна осуществляться по периоду отчетности (по убыванию)
    • +
    +

    Решение задачи:

    +

    Предполагается, что страница Реестра сведений о розничных ценах по товарам, где необходимо разместить Таблицу, уже создана бизнес-аналитиком и включена в логику бизнес-процесса. Для добавления на страницу и настройки Таблицы с постраничным отображением необходимо сделать следующее:

    +
      + +
    • добавить внутрь страницы компоненту Таблица с постраничным отображением (рис.1)
    • +
    • в настройках добавленной Таблицы с постраничным отображением перейти к разделу Таблица с постраничным отображением. Подгрузка данных - Источник данных Граф сущностей и настроить его в соответствии с условием задачи. В качестве Главной сущности (выделена желтой рамкой) в Редакторе структуры сущности задана таблица базы данныхprice_monitor_report (рис.2)
    • +
    +

    + +
    +
    рис.1 Добавление элемента Таблица с постраничным отображением на страницу
    +рис.2 Настройка  Графа сущностей Таблицы с постраничным отображением
    +
    + + +

    + +
    +
    рис.3 Настройка колонок Таблицы         
    +рис.4 Настройка колонок Таблицы   
    +рис.5 Настройка колонок и сортировки в Таблице  
    +
    + +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и в Таблице с постраничным отображением содержится вся необходимая информация (рис.6).

    +

    + +
    +
    рис.6 Визуальное отображение выполнения условий задачи
    +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_связанные_Таблицы_на_страницу_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_связанные_Таблицы_на_страницу_.html new file mode 100644 index 0000000..f3b97ba --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_добавить_связанные_Таблицы_на_страницу_.html @@ -0,0 +1,89 @@ + + + + + + + + Web-BPM Docs – Как добавить связанные Таблицы на страницу? + + + + + + +
    +
    + + + +
    +
    +

    Как добавить связанные Таблицы на страницу?

    +

    Постановка задачи: необходимо реализовать на пользовательской странице Реестра заявлений, где имеется основная Таблица с информацией о заявлениях на оформление лицензии, дополнительную, зависящую от основной Таблицу объектов из заявления, где будет отображаться информация об объектах (наименование объекта, КПП, площадь), включенных в заявление. Таблица с информацией об объектах должна иметь следующие настройки:

    +
      + +
    • в Граф сущностей должна быть включена в качестве Главной сущности таблица application_object, в которой имеется ссылка на идентификатор заявления(из таблицы application) и на идентификатор объекта(из таблицы object). Также в Граф сущностей должна быть включена таблица object, из которой будет подгружаться информация об объектах, включенных в заявление
    • +
    • в структуру Таблицы должны быть включены три колонки (источником подгрузки значений из базы данных будут служить заданные вГрафе сущностейтаблицы): +
        + +
      • Наименование объекта
      • +
      • КПП объекта
      • +
      • Площадь
      • +
      +
    • +
    +

    Решение задачи:

    +

    Предполагается, что страница Реестра заявлений уже создана бизнес-аналитиком, где имеется настроенная основная Таблица заявлений, в Граф сущностей которой добавлены все необходимые объекты базы данных (таблицы и представления) и в качестве Главной сущности задана таблица базы данных application, так как будет запоминаться идентификатор выбранной из неё записи(рис.1). Для добавления на страницу и настройки дополнительной, зависящей от главной, Таблицы необходимо сделать следующее:

    +
      + +
    • добавить внутрь Формы компоненту Таблица и в параметре “Зависит от” указать основную Таблицу с заявлениями (рис.2)
    • +
    +

    + +
    +
    рис.1 Граф сущностей главной Таблицы заявлений                         
    +рис.2 Добавление связи между Таблицами
    +
    + +
      + +
    • в настройках добавленной Таблицы перейти к разделу Таблица. Подгрузка данных - Источник данных - Граф сущностей и настроить его в соответствии с условием задачи (рис.3). Там же в свойстве “Колонка для режима Зависит от” необходимо указать колонку связи с основной таблицей, и данный идентификатор будет служить в качествепараметра, по которому будет подгружаться информация в зависимую Таблицу с объектами (рис.4)
    • +
    • Настройка_колонок_Таблицы в соответствии с условием задачи (рис.5) +

      рис.3 Настройка Графа сущностей Таблицы с объекта из заявления рис.4 Настройка колонки связи между Таблицами
      +рис.5 Настройка колонок Таблицы

    • +
    +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что при выборе записи в главной Таблице, где находится информация о поступивших заявлениях, в зависимой Таблице, по идентификатору заявления из главной Таблицы, отображается информация об объектах, включенных в данное заявление (рис.6).

    + +
    +
    рис.6 Визуальное отображение выполнения условий задачи
    +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_задействовать_компоненту_Древовидная_таблица_на_пользовательской_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_задействовать_компоненту_Древовидная_таблица_на_пользовательской_странице_.html new file mode 100644 index 0000000..b791b3b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_задействовать_компоненту_Древовидная_таблица_на_пользовательской_странице_.html @@ -0,0 +1,158 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Древовидная таблица на пользовательской странице? + + + + + + +
    +
    + + + +
    +
    +

    Как задействовать компоненту Древовидная таблица на пользовательской странице?

    +

    Постановка задачи: на пользовательской странице Справочник видов продукции необходимо реализовать возможность отображения данных (наименований видов продукции) с использованием древовидной структуры в табличном виде, где в наборе элементов таблицы (записей) есть родительская запись Группа продукции и относящиеся к ней дочерние записи - Виды продукции. Помимо отображения данных в Древовидной таблице необходимо реализовать возможность добавления новой связанной дочерней записи к уже имеющейся ветви (записи) в таблице или родительскую запись, которая в последствии будет служить ветвью для добавления дочерних записей. При выборе записи в таблице по нажатию на кнопку Добавить (компонента Кнопка выбора) осуществляется переход по бизнес-процессу на страницу Добавления вида продукции, где помимо уже имеющихся полей на настроенной Форме для сохранения значений в таблицу базу данных - Код, Наименование продукции, Описание, Актуальность, необходимо добавить поле Родитель(компонентаПоле ввода с подбором значения), значение которого будет заполняться по умолчанию из переменной процесса значением (идентификатором) записи - parent_id, выбранной ранее с помощью кнопки Добавить в таблице Справочников видов продукции.

    +

    Последовательность действий пользователя, в данном случае, будет заключаться в следующем: в таблице Справочник видов продукции была выбрана родительская запись, например, Вина столовые фруктовые, которая является Группой продукции и уже включает в себя Виды продукции. К выбранной (строка окрашена в отличный от других строк цвет) Группе продукции (Вина столовые фруктовые) пользователю необходимо добавить новый вид продукции, для этого он нажимает на кнопку Добавить, после чего открывается страница Добавления вида продукции, где поле Родитель по умолчанию заполнилось значением - Вина столовые фруктовые и после сохранения к данной Группе продукции будет добавлена новая дочерняя запись Вид продукции, например, Сухие фруктовые вина.

    +

    В случае, когда пользователю будет необходимо добавить не дочернюю запись к уже существующей родительской записи, а самого родителя (ветвь) Группу продукции, которая в будущем будет объединять в себе Виды продукции, по нажатию на кнопку Добавить (без выбора записи в таблице) будет также осуществляться переход на страницу Добавления вида продукции, но поле Родитель будет оставаться пустым.

    +

    Источником для подгрузки данных в настраиваемой Древовидной таблице должна быть определена в качестве Главной сущности иерархическая таблица базы данных - Виды продукции, в структуре которойприсутствует внешний ключ(parent_id), ссылающийся на первичный ключ этой же таблицы базы данных. Для более детального отображения данных на странице Справочник видов продукции, в структуру сущностей компонентыДревовидная таблицанеобходимо также включить таблицы базы данных, которые будут ссылаться по ключу на Главную сущность - Справочник ЛКВП (локальный вид кода продукции) и Справочник кодов ФСРАР (классификатор видов продукции), значениями из которых будут заполняться колонки ЛКВП и Код ФСРАР в настраиваемой таблице.

    +

    Решение задачи: предполагается, что бизнес-аналитиком уже создана страница Справочник видов продукции, где необходимо расположить элемент Древовидная таблица,также создана страницаДобавление вида продукции, где помимо уже имеющихся на Формеэлементов страницы, необходимо разместить поле Родитель, значение которого будет подгружаться из уже созданной переменной процесса-parent_id и будет равно значению идентификаторазаписи выбранной в настраиваемой Древовидной таблице с помощью компоненты Кнопка выбора - Добавить.

    +

    Для добавления на страницу компоненты Древовидная таблица, которая будет отображать Справочник видов продукции в виде дерева, необходимо сделать следующее:

    +
      + +
    • добавить на страницу элемент из раздела Компоненты - Таблицы - Древовидная таблица (рис.1)
    • +
    • в свойстве компоненты Древовидная таблица. Подгрузка данных настроить Граф сущностей, где в Редакторе структуры сущностей необходимо включить таблицы базы данных Справочник видов продукции (иерархическая таблица - Главная сущность), Справочник ЛКВП (ссылается на первичный ключ Главной сущности) и Справочник кодов ФСРАР (связан с Главной сущностью через таблицу связи), которые будут служить в качестве источника данных для подгрузки значений в настраиваемую Таблицу (рис.2)
    • +
    +

    + +
    +
    рис.1 Добавление компоненты Древовидная таблица на страницу                         
    +рис.2 Настройка Графа сущностей Древовидной таблицы
    +
    + +
      + +
    • после заполнения Графа сущностей компоненты в свойстве Древовидная таблица. Подгрузка данных необходимо в качестве Колонки, указывающей на родительский элемент указать колонку Главной сущности (иерархической таблицы базы данных Справочник видов продукции) - parent_id, которая является внешним ключом, ссылающимся на первичный ключ этой же таблицы базы данных (рис.3). Указание данной колонки и использование иерархической таблицы базы данных в качестве Главной сущности позволит выстроить древовидную структуру таблицы с ветвями (родителями) и относящимися к ним дочерними записями.
    • +
    • в параметре Таблица. Настроить колонки таблицы необходимо включить элементы, которые будут отображать значения колонок из трёх ранее добавленных в Граф сущностей таблиц базы данных -Справочник видов продукции (иерархическая таблица -Главная сущность),Справочник ЛКВП и Справочник кодов ФСРАР (рис.4)
    • +
    • на этой же странице Справочник видов продукции для того чтобы реализовать возможность добавления новой записи в таблицу с переходом на страницу Добавления вида продукции необходимо добавить элемент Кнопка выбора,в свойствах которого настраиваются следующие параметры (рис.5): +
        + +
      • в качестве Компоненты для выбора записи указываем настраиваемую Древовидную в таблицу
      • +
      • в свойстве элемента Таблица. Получить идентификатор выбранной в таблице записи и сохранить в переменную процесса в параметре Сохранить идентификатор в…указываем уже созданную переменную процесса parent_id
      • +
      • по нажатию на кнопку Добавить скрипт необходимо выбрать из открывшегося списка доступную для компоненты функцию Управление навигацией и в её настройках указать значение переменной навигации add_vid_prod, по которому будет осуществляться переход по бизнес-процессу на страницу Добавление вида продукции
      • +
      +

      рис.3 Настройка свойства Подгрузка данных
      +рис.4 Настройка колонок Таблицы
      +рис.5 Настройка Кнопки выбора записи в таблице

      +
    • +
    +

    Согласно условию задачи, в случае, когда пользователю необходимо добавить новую запись (родительскую или дочернюю) в таблицу осуществляется переход по бизнес-процессу на страницу Добавления вида продукции по нажатию на кнопку Добавить. На открывшейся странице должно быть поле Родитель, которое будет заполнено из переменной процесса значением (идентификатором) выбранной ранее записи в таблице, в случае, если происходит добавление дочерней записи к уже существующей ветви (родителю). Если переход на страницу был осуществлен без выбора записи в Таблице, то есть пользователю необходимо добавить родительскую запись, на странице Добавления вида продукции поле Родитель будет пустым.

    +

    Для того чтобы добавитьполе Родитель(компонентаПоле ввода с подбором значения)на страницу Добавления вида продукции необходимо сделать следующее:

    +
      + +
    • добавить элемент из раздела **Компоненты – Поля – Поле ввода с подбором значения (с возможностью сохранения)**внутрь компоненты Формана странице(рис.6)
    • +
    • в свойстве компоненты Поле ввода с подбором значения. Подгрузка данных настроить Граф сущностей, где в Редакторе структуры сущностей необходимо включить в качестве Главной сущности таблицу базы данных -Справочник видов продукции (рис.7)
    • +
    +

    + +
    +
    рис.6 Добавление компоненты Поле ввода с подбором значения (с возможностью сохранения)     
    +рис.7 Настройка Графа сущностей Поля ввода с подбором значения
    +
    + +
      + +
    • после заполнения Графа сущностей компоненты в свойствеПоле ввода с подбором значения. Подгрузка данныхнеобходимо дополнительно настроить два параметра (рис.8): +
        + +
      • в параметре Сортировать поуказываем колонку Название (name)таблицы базы данных Справочник видов продукции, включенной в Граф сущностей компоненты.
      • +
      • в параметреПоказывать пользователюуказываем колонку Название (name)таблицы базы данных Справочник видов продукции, включенной в Граф сущностей компоненты.
      • +
      +
    • +
    • для того, чтобы полученное значение из элемента Родитель сохранялось в базу данных, необходимо настроить свойствоПоле ввода с подбором значения. Сохранения значения, где мы указываем таблицу базы данных и колонку, в которую будет происходить сохранение значения на странице (рис.9)
    • +
    • согласно поставленной задаче, описанной выше, значение поля Родитель на странице должно подгружаться из переменнойпроцесса - parent_id, что можно настроить перейдя к свойству компоненты Заполнить значением из переменной процесса (рис.9) +

      рис.8 Настройка Подгрузки данныхПоля ввода с подбором значения рис.9 Настройки свойств сохранения и заполнения значения из переменной

    • +
    +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на страницеСправочник видов продукции есть Древовидная таблица, в которой записи отображаются в виде дерева, где видно основную ветвь (родительскую запись) - Группу продукции, и ответвляющиеся от неё дочерние записи - Виды продукции (рис.10). Для того, чтобы добавить новую запись в Таблицу (дочернюю к уже имеющейся записи) на странице размещена кнопка Добавить (рис.10). По нажатию на кнопку происходит запись идентификатора выбранной строки-родителя, к которой пользовательхочет добавить дочернюю запись, в переменную процесса и переход по бизнес-процессу на страницу Добавления вида продукции (рис.11). После открытия страницы в поле Родитель отображается значение ранее выбранное в Древовидной таблице на странице Справочник видов продукции (рис.12, рис.13). В случае, если пользователь добавляет саму ветвь (родителя), то он не выбирает запись в таблице, а сразу нажимает на кнопку Добавить, и значение поля Родитель у добавляемой записи остается пустым (рис.13).

    +

    + +
    +
    рис.10 Отображение Древовидной таблицы на странице 
    +рис.11 Выбор родительской записи в таблице для добавления дочерней записи
    +
    + +

    + +
    +
    рис.12 Отображение значения в поле Родитель   
    +рис.13 Последовательность двух вариантов действия: добавление родительской и дочерней записи
    +
    + +
    +
    +

    Attachments:

    +
    + +
    + +

    image2019-4-12_14-27-47.png (image/png)
    + image2019-4-12_14-27-55.png (image/png)
    + Screenshot_2.png (image/png)
    + Screenshot_8.png (image/png)
    + Screenshot_9.png (image/png)
    + Screenshot_9.png (image/png)
    + image2019-4-12_15-13-14.png (image/png)
    + Screenshot_10.png (image/png)
    + Screenshot_11.png (image/png)
    + image2019-4-16_15-40-30.png (image/png)
    + Screenshot_12.png (image/png)
    + Screenshot_151.png (image/png)
    + Screenshot_15.png (image/png)
    + Screenshot_15.png (image/png)
    + Screenshot_15.png (image/png)
    + image2019-4-17_10-42-16.png (image/png)
    + image2019-4-17_10-48-37.png (image/png)
    + image2019-4-17_10-50-29.png (image/png)
    + image2019-4-17_10-51-29.png (image/png)
    + image2019-4-17_10-55-32.png (image/png)
    + Запись_2019_04_17_11_02_28_197.gif (image/gif)
    + image2019-4-17_11-7-50.png (image/png)
    + image2019-4-17_11-12-45.png (image/png)

    +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_сохранить_идентификатор_связанной_таблицы_используя_скрытое_числовое_поле_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_сохранить_идентификатор_связанной_таблицы_используя_скрытое_числовое_поле_.html new file mode 100644 index 0000000..890ff3a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Как_сохранить_идентификатор_связанной_таблицы_используя_скрытое_числовое_поле_.html @@ -0,0 +1,68 @@ + + + + + + + + Web-BPM Docs – Как сохранить идентификатор связанной таблицы используя скрытое числовое поле? + + + + + + +
    +
    + + + +
    +
    +

    Как сохранить идентификатор связанной таблицы используя скрытое числовое поле?

    +

    Постановка задачи: предполагается, что есть переменная процесса (employee_id), которая хранит в себе значение идентификатора текущего авторизованного пользователя изтаблицы с информацией о пользователях системы.Необходимо реализовать на странице скрытое Числовое поле, в которое будет записываться значение из переменной employee_id и сохраняться в базе данных в качестве идентификатора изменившего запись в таблицу Список задач (tasks) колонку updated_employee_id.

    +
      + +
    • поле должно быть невидимым пользователю
    • +
    • значение поля должно подлежать сохранению
    • +
    • сохранение значения должно осуществляться в базу данныхв таблицу Список задач (tasks) колонку updated_employee_id
    • +
    • значение поля должно заполняться из переменной employee_id
    • +
    +

    Решение задачи:

    +

    Предполагается, что страница уже создана бизнес-аналитиком, где имеется ***основная компонента Форма***, в структуру сущностей которой включена необходимая, в данном случае,таблица Список задач (tasks), в которую будет сохраняться полученноезначение. Для добавления на страницу и настройки числового поля необходимо сделать следующее:

    +
      + +
    • добавить внутрь Формы компоненту Числовое поле с возможностью сохранения
    • +
    • произвести настройки согласно условию задачи
    • +
    +

    +

    Результат выполнения задачи:

    +

    Так как поле должно быть невидимым, на странице приложения оно не отобразится. При нажатии на кнопку сохранения, значение из поля будет записано в таблицу Список задач (tasks) колонку updated_employee_id.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Настройка_колонок_Таблицы.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Настройка_колонок_Таблицы.html new file mode 100644 index 0000000..aa34611 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Настройка_колонок_Таблицы.html @@ -0,0 +1,100 @@ + + + + + + + + Web-BPM Docs – Настройка колонок Таблицы + + + + + + +
    +
    + + + +
    +
    +

    Настройка колонок Таблицы

    +

    Для того, чтобы приступить к настройке колонок отображаемой в приложении Таблицы, необходимо предварительно заполнить Граф сущностей компоненты, где указываются объекты базы данных (таблицы и представления) с соответствующими условиямии связями, которые будут выступать в качестве источника данных для подгрузки значений.

    +

    После настройки Графа сущностей и сохранения внесённых изменений в его структуру*, во встроенных функциях элемента Таблица* необходимо перейти к разделу Таблица. Настроить колонки таблицы - Колонки и нажать на кнопку “Плюс” (рис.1). По нажатию на кнопку будет добавлен первый элемент (колонка), который имеет следующие настройки:

    +
      + +
    • Колонка - позволяет указать конкретную таблицу или представление базы данных, предварительно включенную в Граф сущностей, и колонку из этой таблицы, значения из которой будут отображаться на странице;
    • +
    • Наименование - это свойство, которое**позволяет задать наименование колонки, которое будет отображаться в шапке Таблицы; если название колонки не задано, то по умолчанию будет отображаться название таблицы и колонки в базе данных, откуда подгружаются значения
    • +
    • Ширина - свойство, которое**позволяет указать ширину (по умолчанию в пикселях) отображаемой колонки в Таблице;
    • +
    • Фиксированная ширина - данное условие выполняется только при заполненном выше значении Ширина и фиксирует размер колонки в Таблице;
    • +
    • Скрытое - данное свойство позволяет задать возможность скрытия столбца в Таблице. Применяется в том случае, когда необходимо настроить сортировку по содержимому колонки или использовать её в качестве входного параметра для кастомных (нестандартных) функций, но при этом отображать колонку в Таблице пользователю не нужно.
    • +
    • Агрегирующая функция - это функция, которая обрабатывает набор строк в указанной колонке для подсчета и возвращения одного обобщающего значения.Предусмотрено использование следующих агрегирующих функций: +
        + +
      • Сумма- возвращает сумму содержащихся в колонке значений, при этом указанная колонка из таблицы базы данных должна иметь числовой тип;
      • +
      • Максимум- возвращает максимальное значение из массива имеющихся значений в колонке, при этом указанная колонка из таблицы базы данных должна иметь числовой тип;
      • +
      • Минимум- возвращает минимальное значение из массива имеющихся значений в колонке,при этом указанная колонка из таблицы базы данных должна иметь числовой тип;
      • +
      • Среднее- возвращает среднее подсчитанное значение из массива имеющихся значений в колонке,при этом указанная колонка из таблицы базы данных должна иметь числовой тип;
      • +
      +

      Количество - возвращает общее количество записей в колонкеВ случае, когда свойство настроено у колонки, например, выбрана Агрегирующая функция Сумма, на странице пользовательского приложения вычисленное значение по колонке будет автоматически отображаться зафиксированной (положение не будет изменяться при прокрутке записей) результирующей строкой в Таблице (рис.3). При этом строка будет выделена отличным от других записей в таблице цветом и значение в результирующем поле будет динамически изменяться по мере заполнения колонки (выбранной в качестве источника данных) новыми значениями в таблице базы данных.

      +
    • +
    • Форматирование - данное свойство позволяет отобразить значение из колонки базы данных в необходимом формате на странице в приложении. Например, подгружаемое значение в колонку имеет тип данных Дата и Время (DateTime), но на странице пользовательского приложения необходимо отображать значение в колонке без Времени, только Дату. В таком случае, целесообразно использовать форматтер DateFormatter, который отобразит значение колонки в нужном виде. Но при этом предварительно необходимо применить к Таблице функцию Очистить форматирование колонок таблицы, указав наименование настраиваемой колонки.
    • +
    +

    Порядок и удаление колонки в Таблице можно регулировать нажав правой кнопкой мыши на надписи Элемент и выбрав один из трех вариантов Переместить наверх - Переместить вниз - Удалить элемент (рис.2).

    +

    +

    рис.1 Добавление колонок в Таблицу

    +

    +

    рис.2 Изменение элемента в Таблице (порядок или удаление)

    +

    +

    рис.3 Отображение колонок с Агрегирующими функциями

    +

    В случае, когда необходимо отобразить значение из нескольких колонок таблиц(ы) базы данных в одной колонке Таблицы на странице приложения используется свойство Составная колонка (рис.4).

    +
      + +
    • Составная колонка - это элемент Таблицы, который включает в себянесколько вложенных колонок из одной или разных таблиц базы данных с определяемым разделителем значений (точка, запятая, пробел и другие) и следующими настройками: +
        + +
      • префикс- символ или текст, который будет отображаться перед подгружаемым значением из колонки базы данных, например символ открывающейся скобки (;
      • +
      • постфикс - символ или текст, который будет отображаться после подгружаемого значения из колонки базы данных, например символ закрывающейся скобки ) ;
      • +
      • разделитель - символ или пробел, который будет разделять между собой значения из разных колонок таблиц (ы) приводимых в одну строку
      • +
      +
    • +
    +

    Для отображения записей в Таблице в определенном порядке используется Сортировка, которую можно настроить перейдя к разделу Таблица. Настроить колонки таблицы - Сортировкаи нажать на кнопку. Важно отметить, что колонка(и), по которым будет производитьсяСортировкадолжны быть включены в качестве элементов в Таблицу, либо включены, но скрыты, иначе при открытии страницы пользовательского приложения будет выведена ошибка. На языке SQL-запросовданное условие равно оператору ORDER BY, который можно применять как к числовым столбцам, так и к строковым (в последнем случае, сортировка будет происходить по алфавиту). По нажатию на кнопку будет добавлен элемент сортировки, который имеет следующие настройки:

    +
      + +
    • Колонка - позволяет указать конкретную таблицу или представление базы данных, предварительно включенную в Граф сущностей, и колонку из этой таблицы, по которой будут сортироваться записи в Таблице;
    • +
    • Порядок сортировки позволяет указать в каком порядке будет производиться сортировка По возрастанию или По убыванию (рис.5)
    • +
    +

    +

    рис.4 Добавление элемента Составная колонка

    +

    +

    рис.5 Добавление сортировки Таблиц по условию

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Очистить_форматирование_колонок_таблицы.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Очистить_форматирование_колонок_таблицы.html new file mode 100644 index 0000000..b148daa --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Очистить_форматирование_колонок_таблицы.html @@ -0,0 +1,77 @@ + + + + + + + + Web-BPM Docs – Очистить форматирование колонок таблицы + + + + + + +
    +
    + + + +
    +
    +

    Очистить форматирование колонок таблицы

    +

    Функция, которая в режиме исполнения приложения (runtime mode) очищает форматирование по умолчанию указанных в настройках функции колонок компоненты Таблица для возможности применения пользовательских параметров форматирования, указываемых в настройках колонок компоненты Таблица. Попытка выставления аналитиком пользовательских параметров форматирования в настройках колонок компоненты Таблица без совместного использования с функцией Очистить форматирование колонок таблицы не приведет к изменению форматирования и к колонкам компоненты Таблица по-прежнему будет применяться форматирование по умолчанию

    +

    Может быть активирована только на компоненте Таблица.

    +

    +

    Рис. 1 Внешний вид активированной функции

    +

    Параметры функции (табл.1)

    + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Список колонок, обязательный позволяет сформировать список колонок компоненты Таблица, для которых система должна сбросить форматирование по умолчанию. Колонки для текущей функции идентифицируются по именам, присвоенным колонкам при настройке функции “Таблица”. Настроить колонки таблицы
    +

    Пример настройки и применения

    +

    +

    Рис.2 Активация функции на компоненте Таблица

    +

    +

    Рис. 3 Форматирование колонки без применения функции “Очистить форматирование колонок таблицы”

    +

    +

    Рис.4 Форматирование колонки после применения функции Очистить форматирование колонок таблицы

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблица.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблица.html new file mode 100644 index 0000000..8a00ca2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблица.html @@ -0,0 +1,247 @@ + + + + + + + + Web-BPM Docs – Таблица + + + + + + +
    +
    + + + +
    +
    +

    Таблица

    +

    Назначение

    +

    Таблица - это компонента, которая используется для отображения информации из базы данных в табличном виде с возможностью сортировки записей в нужном порядке.

    +

    Компонента Таблица находится в разделе Компоненты - Таблицы - Таблица

    +

    Свойства

    +

    Компонента имеет набор общих свойств.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список или Таблицей
    Multiselectable позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
      +
    • возможность выбора сразу нескольких или одной строки
    • +
    • возможность выбора одной строки - значение по умолчанию
    Checkbox Column позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой Таблица +
      +
    • значение не определено - по умолчанию
    • +
    • Активно - отображать колонку флагов
    • +
    • Не активно - не отображать колонку флагов
    Показывать номер строки позволяет задать автоматическую нумерацию строк +
      +
    • значение не определено - по умолчанию
    • +
    • Активно - отображать нумерацию строк
    • +
    • Не активно - не отображать нумерацию строк
    Pinned Bottom Row Label позволяет задать значение для названия итоговой строки таблицы (строки с агрегирующими значениями по колонкам таблицы) пример возможного значения: Итого
    Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
      +
    • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
    • +
    • MULTI_SELECT_CLICK -при каждом клике на строку, предыдущие выбранные строки не сбрасываются, т.е если кликнули на одну строку, а затем на другую, то первая строка останется выбранной. Клик по уже выбранной строке снимает с неё выделение. Использования данного метода допустимо, в случае, если в таблице доступен выбор нескольких строк (при значениисвойстваMultiselectable)
    • +
    • SUPPRESS_SELECT_CLICK – исключает возможность выбора (выделения) строки по клику. В данном случае, выбор строки представляется возможным только при использовании чекбоксов.
    Save Column State позволяет задать возможность сохранения пользовательских настроек в части состава и ширины колонок в таблице +
      +
    • значение не определено - по умолчанию
    • +
    • Активно - изменения пользователя в части отображаемых колонок в таблице (состав и ширина) будут сохраняться в локальном хранилище, т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения отобразятся
    • +
    • Не активно - не сохранять изменения пользователя в части отображаемых колонокв таблице (состав и ширина), т.е. если пользователь исключил для отображения конкретную колонку или изменил ширину столбца в таблице, то при повторном переходе на страницу эти изменения не отобразятся и таблица будет иметь исходный вид по умолчанию
    Loading Overlay Type позволяет выбрать вид прелоадера при подгрузке данных в таблицу Доступны следующие виды настройки: +
      +
    • TEXT_OVERLAY - отображает текст в центре таблицы при подгрузке данных, задаваемый в свойствах: No Rows Overlay Message и Loading Overlay Message
    • +
    • PROGRESS_BAR - отображает прогресс-бар при подгрузке данных в таблицу
    No Rows Overlay Message позволяет указать текст для отображения пользователю в таблице в случае, если результат запроса не вернул ни одной строки, например, Данные отсутствуют (доступно для настройки при Loading Overlay Type - TEXT_OVERLAY) пример возможного значения: Данные отсутствуют
    Loading overlay message позволяет указать текст для отображения пользователю в процессе подгрузки данных в таблицу, например, Загрузка данных, пожалуйста, подождите.( доступно для настройки при Loading Overlay Type - TEXT_OVERLAY) пример возможного значения: Загрузка данных, пожалуйста, подождите. Allow Context Menu With позволяет управлять отображением контекстного меню (список доступных для исполнения действий) при нажатии правой кнопкой мыши на ячейку внутри таблицы +
      +
    • значение не определено - по умолчанию
    • +
    • Активно - при нажатии правой кнопкой мыши на ячейку внутри таблицы отображается контекстное меню доступных действий, например, копирование значения ячейки
    • +
    • Не активно - исключает отображение контекстного меню при нажатии правой кнопкой мыши на ячейку внутри таблицы
    +

    Свойство компоненты: Таблица. Подгрузка данных

    +

    +

    Подгрузка данных - позволяет задать граф сущностей для подгрузки данных в Таблицу. Является обязательным к заполнению и настройке.

    +
      + +
    • + +

      Граф сущностей элемента настраивается в соответствии с п. Настройка Графа сущностей. Является обязательным к заполнению и настройке.

      +
    • +
    • + +

      Колонка для режима “Зависит от” - позволяет указать колонку настраиваемой Таблицы, которая обеспечивает связь текущей компоненты с компонентой заданной в параметре “Зависит от”

      +
    • +
    • + +

      Datasource Jndi Name -позволяет задать иной источник (базу данных) для выполнения запроса, заданного с помощью элементов базы данных в редакторе Графа сущностей элемента.

      +
    • +
    +

    Значение данного свойства может быть задано следующим образом: java:/webbpm/AppRepDS, а сам адрес базы данных, логин и пароль для подключения должен быть указан в файле standalone.xml (аналогично тому, как указывается, например, подключение к базе данных безопасности).

    +

    В случае, если данное свойство не заполнено, запрос выполняется в базе данных, указанной в конфигурации проекта (во вкладке База данных).

    +
      + +
    • Aggregation Header For Export - свойство в расширенных настройках, позволяющее задать заголовок для агрегационной строки при экспорте данных.
    • +
    +

    +

    Свойство компоненты: Таблица. Настроить колонки таблицы

    +

    +

    позволяет настроить отображаемые колонки в Таблице с сортировкой записей по конкретному порядку

    +

    с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

    +

    Свойство компоненты: Таблица. Настроить динамическую подгрузку данных при просмотре страницы

    + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Количество записей в блоке количество отображаемых записей в Таблице по умолчанию при каждой новой подгрузк пример возможного значения: 20 - значение по умолчанию
    +

    Функции

    +

    В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

    +

    Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

    +

    Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

    +

    Очистить форматирование колонок таблицы

    +

    Преобразовать в колонки со значениями-переходами

    +

    Определить права текущего пользователя

    +

    Определить роли текущего пользователя

    +

    Методические рекомендации по применению

    +

    Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

    + +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    Как задать ширину Таблицы? Для того, чтобы настроить ширину или высоту таблицы необходимо в Основных настройках - Расширенные настройки - Стили задать необходимые значения для настраиваемых параметров, например, Ширина 500px.
    Как задать ширину колонок в процентах? Для задания ширины колонок в процентах необходимо выставить нужный процент в поле width и поставить галочку “Автоматически выравнивать по ширине” (autoStretchColumns)
    Как скрыть колонку Таблицы? Для того, чтобы скрыть колонку таблицы можно снять флажок с параметра колонки “Скрытое” в Диспетчере компоненты, либо установить ширину колонки в значение 0px (параметр “Ширина” колонки в Диспетчере компоненты)
    Можно ли поменять порядок отображаемых колонок в Таблице? Для того, чтобы изменить порядок колонок в Таблице необходимо в свойстве Настроить колонки таблицы - Колонки нажать правой кнопкой мыши на «Элемент» и выбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент
    Как изменить формат отображения данных в колонке Таблицы? В случае, если необходимо изменить формат отображения значений в колонке Таблицы необходимо при настройке колонки применить Форматтер. Например, подгружаемое значение в колонку имеет тип данных Дата и Время(DateTime), но на странице пользовательского приложения необходимо отображать значение в колонке без Времени, только Дату. В таком случае, целесообразно использовать форматтер DateFormatter, который отобразит значение колонки в нужном виде. Но при этом предварительно необходимо применить к Таблице функцию Очистить форматирование колонок таблицы, указав наименование настраиваемой колонки.
    Можно ли изменить цветовое оформление Таблицы? Да, можно. Цветовым оформлением Таблицы можно управлять с помощью CSS-стилей, задаваемых в Основных параметрах - Расширенные настройки - CSS классы
    Как автоматически вывести сумму значений по колонке в Таблицу? Для того, чтобы на странице отобразилась сумма значений по колонке, необходимо при настройке колонки выбрать Агрегирующую функцию - Сумма, после чего в Таблице автоматически отобразится зафиксированная (положение не будет изменяться при прокрутке записей) результирующая строка в Таблице. При этом строка будет выделена отличным от других записей в таблице цветом и значение в результирующем поле будет динамически изменяться по мере заполнения колонки (выбранной в качестве источника данных) новыми значениями в таблице базы данных. С описанием настройки колонок в Таблице можно ознакомиться в разделе: Настройка колонок Таблицы
    При выборе записи в основной Таблице в зависимой Таблице (с настроенным режимом «Зависит от»)**отображаются некорректные записи. В чем ошибка? В данном случае, некорректна указана колонка связи между зависимой и основной Таблицами. С описанием настройки связанных Таблиц можно ознакомиться в разделе: Как добавить связанные Таблицы на страницу?
    Как настроить возможность многострочного выбора записей в Таблице? Для того, чтобы настроить многострочный выбор (одновременный выбор нескольких) записей в Таблице необходимо в разделе Таблица. Задействовать режим выбора нескольких строк установить свойство Допустимо выбрать несколько строк в значение(истина).
    Можно ли задать автоматическую нумерацию строк (записей) в Таблице? Да, можно. Для этого необходимо в настраиваемых параметрах Таблицы перейти к свойству Таблица. Основные параметры - Показывать номер строки и привести его в значение(истина).
    Колонка в шапке таблицы имеет странное наименование. Как исправить? Такая ситуация возникает в том случае, если не было задано значение значение параметра “Наименование” в диспетчере компоненты при создании колонки и ей было присвоено название по умолчанию в формате “название таблицы:название колонки”.
    Как поменять порядок следования столбцов таблицы в диспетчере компоненты? Вызвать контекстное меню на надписи Элемент и выбрать соответствующий пункт.
    Как отобразить доступный для понимания вариант адреса, если в колонке базы данных он задан идентификатором guid_fias? Необходимо вручную настроить параметр “Форматирование” в Диспетчере компоненты.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблица_с_постраничным_отображением.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблица_с_постраничным_отображением.html new file mode 100644 index 0000000..cbd952a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблица_с_постраничным_отображением.html @@ -0,0 +1,187 @@ + + + + + + + + Web-BPM Docs – Таблица с постраничным отображением + + + + + + +
    +
    + + + +
    +
    +

    Таблица с постраничным отображением

    +

    Назначение

    +

    Таблица с постраничным отображением - это компонента, которая используется для отображения информации из базы данных в табличном виде с возможностью сортировки записей в нужном порядке и постраничным просмотром (переключением) записей.

    +

    Компонента Таблица с постраничным отображением находится в разделе Компоненты - Таблицы - Таблица с постраничным отображением (рис.1)

    +

    Свойства

    +

    Компонента имеет набор общих свойств.

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Показывать номер строки позволяет задать автоматическую нумерацию строк +
      +
    • значение не определено - по умолчанию
    • +
    • Активно - отображать нумерацию строк
    • +
    • Не активно - не отображать нумерацию строк
    Зависит от позволяет указать объект (родителя), по идентификатору которого будут отображаться сведения в текущей Таблице; задаётся в случае необходимости связать Таблицу с другой компонентой, например, Выпадающий список или Таблицей
    Row click selection type позволяет задать поведение выбора строк при клике на строку Таблицы +
      +
    • SINGLE_SELECT_CLICK – при клике на строку предыдущие выбранные строки сбрасываются, если не была зажата клавиша Ctrl или Shift- данный метод выбран по умолчанию
    • +
    • MULTI_SELECT_CLICK– при каждом клике на строку не сбрасываются предыдущие выбранные строки. Например, если вы кликнули на одну строку, а затем на другую, то первая строка останется выбранной. В этом случае клик по уже выбранной строке снимает выделение (deselect). Эта настройка полезна для touch-устройств, у которых нет клавиш Ctrl или Shift.
    • +
    • SUPPRESS_SELECT_CLICK– сроки не будут выбираться при клике. Например, если вы хотите выбирать строки только при нажатии на чекбокс.
    +

    Свойство компоненты: Таблица. Задействовать режим выбора нескольких строк

    + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Допустимо выбрать несколько строк позволяет задать возможность единовременного выбора одной или нескольких записей в Таблице; выбранные строки окрашиваются в отличный от других строк цвет +
      +
    • возможность выбора сразу нескольких или одной строки
    • +
    • возможность выбора одной строки - значение по умолчанию
    Колонка “Флагов” позволяет поставить отметку в виде флажка на тех записях, которые выбраны пользователем в рамках работы с компонентой Таблица +
      +
    • значение не определено - значение по умолчанию
    • +
    • Активно - отображать колонку флагов
    • +
    • Не активно - не отображать колонку флагов
    +

    Свойство компоненты: Таблица с постраничным отображением.

    + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Показать строки по умолчанию позволяет задать количество записей отображаемых на каждой странице компоненты по умолчанию *пример возможного значения:*20 - значение по умолчанию
    Выдавать по <…> строк на странице список всех доступных пользователю вариантов количеств отображаемых строк на одной странице компоненты, которые он может выбрать в запущенном приложении пример возможного значения: 10, 20, 30 - значение по умолчанию
    +

    Свойство компоненты: Таблица с постраничным отображением. Подгрузка данных

    +

    +

    позволяет задать граф сущностей для подгрузки значений в Таблицу из базы данных. Является обязательным к заполнению и настройке.

    +

    Сущность - это объект с которым работают в графе. В качестве объекта могут быть: таблицы и представления (вью) из базы данных. Понятие сущности не равно понятию таблицы, поскольку одна таблица может быть добавлена в граф несколько раз.

    +

    с описанием настройки Графа сущностей для Таблицы можно ознакомиться в разделе: Настройка Графа сущностей

    +

    +

    позволяет указать колонку настраиваемой Таблицы, которая обеспечивает связь текущей компоненты с компонентой заданной в параметре “Зависит от”

    +

    Свойство компоненты: Таблица. Настроить колонки таблицы

    +

    +

    позволяет настроить отображаемые колонки в Таблице с сортировкой записей по конкретному порядку

    +

    с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

    +

    Функции

    +

    В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

    +

    Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт.

    +

    Вследствие технических особенностей реализации функций (функции, которые выполняются удаленно на сервере приложений, функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

    +

    Определить роли текущего пользователя

    +

    Определить права текущего пользователя

    +

    Очистить форматирование колонок таблицы

    +

    Преобразовать в колонки со значениями-переходами

    +

    Методические рекомендации по применению

    +

    Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

    + +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    В чем заключается различие между Таблицей с постраничным отображением и Единственное отличие заключается в том, что Таблица с постраничнымотображением функционально имеет возможность постраничного просмотра записей (с переключением).
    Можно ли изменить цветовое оформление Таблицы с постраничным отображением? Да. Цветовым оформлением Таблицы можно управлять с помощью CSS-стилей, задаваемых в **Основных параметрах - Расширенные настройки - CSS классы
    Как задать ширину или высоту Таблицы с постраничным отображением Для того, чтобы настроить ширину или высоту таблицы необходимо в Основных настройках - Расширенные настройки- Стили задать необходимые значения для настраиваемых параметров, например, Ширина 500px.
    Как изменить формат отображения данных в колонке Таблицы с постраничным отображением В случае, если необходимо изменить формат отображения значений в колонке Таблицы необходимо при настройке колонки применить Форматтер. Например, подгружаемое значение в колонку имеет тип данных Дата и Время(DateTime), но на странице пользовательского приложения необходимо отображать значение в колонке без Времени, только Дату. В таком случае, целесообразно использовать форматтер DateFormatter, который отобразит значение колонки в нужном виде. Но при этом предварительно необходимо применить к Таблице функцию Очистить форматирование колонок таблицы, указав наименование настраиваемой колонки.
    Можно ли поменять порядок отображаемых колонок в Таблице с постраничным отображением Для того, чтобы изменить порядок колонок в Таблице необходимо в свойствеНастроить колонки таблицы - Колонкинажать правой кнопкой мыши на«Элемент»ивыбрать предложенные варианты: Переместить наверх - Переместить вниз - Удалить элемент
    Как настроить возможность многострочного выбора записей в Таблице с постраничным отображением? Для того, чтобы настроить многострочный выбор (одновременный выбор нескольких) записей в Таблице необходимо в разделе Таблица. Задействовать режим выбора нескольких строкустановить свойство Допустимо выбрать несколько строкв значение
    +
    +
    +
    +
    +
    +
    +

    © 2022 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблицы.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблицы.html new file mode 100644 index 0000000..193ddf7 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/Таблицы.html @@ -0,0 +1,53 @@ + + + + + + + + Web-BPM Docs – Таблицы + + + + + + + +
    +
    +
    +
    +

    © 2022 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/index.html new file mode 100644 index 0000000..f5ed4cb --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/index.html @@ -0,0 +1,104 @@ + + + + + + + + Web-BPM Docs – Базовая библиотека компонент + + + + + + +
    +
    + + + +
    +
    +

    Базовая библиотека компонент

    +
    +

    Функции

    +

    В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.

    +

    Для каждой компоненты предусмотрен перечень функций, расширяющих её базовую функциональность, которые можно добавить нажатием кнопки Добавить скрипт

    +

    Вследствие технических особенностей реализации функций (

    +

    - функции, которые выполняются удаленно на сервере приложений,

    +

    - функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.

    +

    Рекурсивно копировать составные объекты сложных компонент

    +

    TODO: описать

    +

    Определить права текущего пользователя

    +

    Определить права текущего пользователя

    +

    Определить роли текущего пользователя

    +

    Определить роли текущего пользователя

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/AC._Методы-объектов-страницы.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/AC._Методы-объектов-страницы.html new file mode 100644 index 0000000..f53f80e --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/AC._Методы-объектов-страницы.html @@ -0,0 +1,83 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    +

    У каждого компонента есть набор методов, которые используются в ActionController.

    +

    Общие для всех компонентов методы представлены в следующей таблице:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Метод Значение
    setEnabled установить активность компонента
    isEnabled проверка на активность компонента
    setTooltip задать текст всплывающей подсказки
    getTooltip получить текст всплывающей подсказки
    setVisible установить видимость компонента
    isVisible проверка на видимость компонента
    +

    Также для каждого компонента существуют свои собственные, характерные только для него, методы.

    +

    Названия этих методов формируются по общему правилу:

    +

    метод называется set + свойство компонента. Например свойство значение (value), тогда для того, чтобы задать значение необходимо выбрать метод setValue.

    +

    Аналогично, с get методами.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/ConditionOperation.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/ConditionOperation.html new file mode 100644 index 0000000..07b662f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/ConditionOperation.html @@ -0,0 +1,108 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    OperationSimpleArray
    EQUALS SIMPLE.EQUALS(VALUE) ARRAY.EQUALS(VALUE) ALL ELEMENTS IN ARRAY
    NOT_EQUALS !SIMPLE.EQUALS(VALUE) !ARRAY.EQUALS(VALUE) ALL ELEMENTS IN ARRAY
    IS_EMPTY SIMPLE.IS_EMPTY() ARRAY.IS_EMPTY()
    IS_NOT_EMPTY !SIMPLE.IS_EMPTY() !ARRAY.IS_EMPTY()
    LESS_THAN SIMPLE.LESS_THAN(VALUE) ARRAY.LESS_THAN(VALUE) ALL ELEMENTS IN ARRAY
    LESS_THAN_OR_EQUAL LESS_THAN_OR_EQUAL(SIMPLE) LESS_THAN_OR_EQUAL(ARRAY) ALL ELEMENTS IN ARRAY
    GREATER_THAN SIMPLE.GREATER_THAN(VALUE) ARRAY.GREATER_THAN(VALUE) ALL ELEMENTS IN ARRAY
    GREATER_THAN_OR_EQUAL SIMPLE.GREATER_THAN_OR_EQUAL(VALUE) ARRAY.GREATER_THAN_OR_EQUAL(VALUE) ALL ELEMENTS IN ARRAY
    CONTAINS SIMPLE.CONTAINS(VALUE) ARRAY.CONTAINS(VALUE) === ELEMENT_X.EQUALS(VALUE)
    DOES_NOT_CONTAIN !SIMPLE.CONTAINS(VALUE) !ARRAY.CONTAINS(VALUE) === !ELEMENT_X.EQUALS(VALUE)
    STARTS_WITH SIMPLE.STARTS_WITH ARRAY.START_WITH(VALUE) ALL ELEMENTS IN ARRAY
    DOES_NOT_STARTS_WITH DOES_NOT_STARTS_WITH !ARRAY.START_WITH(VALUE) ALL ELEMENTS IN ARRAY
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/EventCalendar.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/EventCalendar.html new file mode 100644 index 0000000..b2d4290 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/EventCalendar.html @@ -0,0 +1,359 @@ + + + + + + + + Web-BPM Docs – EventCalendar + + + + + + +
    +
    + + + +
    +
    +

    EventCalendar

    +

    Назначение

    +

    Компонента позволяет размещать календарь на странице и отображать в нем события разных типов в виде цветных маркеров.

    +

    Описание

    +

    В календаре отображаются события разных типов в виде цветных точек, расположенных в ячейках дня в представлении по месяцам, или в виде списка в представлениях по дням или неделям.
    +При представлении в виде месяца, при клике на ячейку дня раскрывается список событий.
    +Для каждого типа событий аналитик может настроить идентификатор типа, его название, цвета отображения в календаре, конфигурацию поиска данных в базе данных.
    +Поиск событий может осуществляться 2-мя способами: - поиском по графу с заданием набора тип + колонки - поиском при помощи кастомных сервисов с указанием типа

    +

    Если типы событий не заданы, события выделяются цветом по умолчанию. Поиск при этом происходит по всем наборам.

    +

    Параметры настройки

    +

    В компоненте 2 основных скрипта: - EventCalendar.ts - EventCalendarRpcService.java

    +

    EventCalendar.ts

    +

    Унаследованные свойства компоненты: набор свойств Control.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Примечание
    1 Event Color Types Определять тип события, его название и цвета, которыми помечаются события в календаре. Необязательная настройка
    Типы событий
    1.1 Event Type Идентификатор типа подгружаемых событий. Задается аналитиком.
    тип события
    1.2 Type Label Название типа подгружаемых событий. Начало заголовка события. Задается аналитиком.
    название типа события Необязательная настройка.
    1.3 Delimiter Разделитель столбцов в заголовке события. По умолчанию: " : ". Необязательная настройка.
    разделитель По умолчанию: " : ".
    1.4 Primary Цвет маркера события. Обязательный цвет
    цвет маркера
    1.5 Secondary Цвет фона события. Обязательный цвет
    цвет фона
    1.6 Secondary Text Цвет шрифта фона события.
    цвет текста фона
    2 Day Clicked Listeners Возможность назначать скрипты, выполняющие действия по клику на ячейку дня в представлении месяца.
    Действия по клику на день
    3 Event Clicked Listeners Возможность назначать скрипты, выполняющие действия по клику на событиев списке событий.
    Действия по клику на событие Эти же действия будут выполнены по клику на цветной маркер события.
    4 Selected Event Types Возможность задать список типов событий, по которым будет происходить поиск событий для календаря.
    Выбранные типы событий
    +

    EventCalendarRpcService.java

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Примечание
    1 Script Сервис загружающий данные. Первоначально выбран сервис по умолчанию.
    Сервис загрузки
    2 Load Dao Класс, назначенный по умолчанию. В нем настраивается граф таблиц базы данных. Настройка графа обязательна.
    Источник данных
    3 User Id Column Столбец базы данных из графа, привязанный к id пользователя. Необязательная настройка.
    Id пользователя
    4 Event Sources Настройка источников событий разных типов.
    Источники событий
    4.1 Event Type Идентификатор типа подгружаемых событий. Задается аналитиком.
    тип события Необязательная настройка.
    4.2 Event Id Column Столбец идентификатора подгружаемых событий. Необязательная настройка.
    идентификатор события
    4.3 Start Date Column Столбец даты начала события. Обязательная настройка.
    начало события
    4.4 End Date Column Столбец даты крнца события. Необязательная настройка.
    конец события
    4.5 Title Columns Набор столбцов, из которых формируется заголовок события. Необязательная настройка.
    заголовок события
    5 Service Types Настройка сервисов для поиска событий разных типов. Необязательная настройка
    Настраиваемые сервисы Сервисы пишутся разработчиком.
    5.1 Event Type Идентификатор типа подгружаемых событий. Задается аналитиком.
    тип события Необязательная настройка.
    5.2 Event Service Подключаемый сервис. (Пишется разработчиком.)
    подключаемый сервис
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/HyperLink.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/HyperLink.html new file mode 100644 index 0000000..d53a518 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/HyperLink.html @@ -0,0 +1,80 @@ + + + + + + + + Web-BPM Docs – HyperLink + + + + + + +
    +
    + + + +
    +
    +

    HyperLink

    +

    Назначение

    +

    HyperLink - компонента для отображение ссылки.

    +

    Свойства

    +

    Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    URL Ссылка. Может содержать выражения ${your-parameter}, которые будут заменяться. Для этого необходимо указать Parameter Providers.
    Text Текст ссылки
    Is Absolute Является ли ссылкой относительной или абсолютной
    Open In New Tab Открыть ссылку в отдельной вкладке
    Parameter providers Определяет ссылки на объекты и метод для получения значения.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/IFrame.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/IFrame.html new file mode 100644 index 0000000..eb96fb6 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/IFrame.html @@ -0,0 +1,98 @@ + + + + + + + + Web-BPM Docs – IFrame + + + + + + +
    +
    + + + +
    +
    +

    IFrame

    +

    Назначение компонента

    +

    Компонент IFrame позволяет создавать ссылки на странице(page) во фрейме.

    +

    Настройка компонента

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    visible задаёт видимость компоненты true
    disabled задаёт редактируемость компоненты false
    tooltip задаёт текст всплывающей подсказки, которая появляется при наведении курсора на элемент
    cssClasses список CSS классов (см. раздел Дизайн)
    style список основных свойств: +
      +
    • padding (необходимо указывать единицы измерения)
    • +
    • margin (необходимо указывать единицы измерения). См. http://htmlbook.ru/css/margin. Например для задания отступа справа на 50px необходимо задать значение 0px 50px 0px 0px
    • +
    • border - задает размер, цвет и стиль рамки. Например “20px solid red”. Подробнее http://htmlbook.ru/css/border
    • +
    • height - задает высоту компонента
    • +
    • width - задает ширину компонента
    • +
    • minHeight - задает минимальную высоту компонента
    • +
    • minWidth - задает минимальную ширину компонента
    • +
    • maxHeight - задает максимальную высоту компонента
    • +
    • maxWidth - задает максимальную ширину компонента.
    source задает ссылку
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/InnerHtml.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/InnerHtml.html new file mode 100644 index 0000000..451c78a --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/InnerHtml.html @@ -0,0 +1,69 @@ + + + + + + + + Web-BPM Docs – InnerHtml + + + + + + +
    +
    + + + +
    +
    +

    InnerHtml

    +

    Назначение

    +

    InnerHtml - компонента для вставки HTML кода.

    +

    Свойства

    +

    Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

    + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    htmlAsString HTML код
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Menu.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Menu.html new file mode 100644 index 0000000..4752453 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Menu.html @@ -0,0 +1,100 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    +

    Компонент Menu предназначен для отображения иерархии элементов, навигации по процессам, расчету метрик по пунктам.

    +

    Настройка компоненты: * накидывается на каждую страницу, где должен отображаться * элементы добавляются/редактируются в разделе “Меню. Настройка элементов”

    +

    Описание элементов:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    items Массив элементов 0
    Name Наименование элемента
    is Group Задать элемент группой, выделяется жирным шрифтом и не содержит метрику. false
    Has Metric Необходимость вычислить метрику для элемента false
    Business Process To Start Выбрать процесс, который нужно запустить при нажатии на соответствующий пункт меню
    Dao Выбрать граф сущностей для вычисления метрики
    Aggregation Column Выбор таблицы и колонки, по которой нужна агрегация
    Aggregation Function Выбор агрегирующей функции
    +
      + +
    • компонент отрисовывается в виде дерева с элементами
    • +
    • по нажатию на элемент, для которых задан Business Process To Start, происходит старт указанного процесса
    • +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/MenuGroup.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/MenuGroup.html new file mode 100644 index 0000000..e3d7187 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/MenuGroup.html @@ -0,0 +1,75 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    +

    Компонент MenuGroup является контейнером предназначеным для отображения иерархии элементов, навигации по процессам, расчету метрик по пунктам.

    +

    Настройка компоненты: * накидывается на каждую страницу, где должен отображаться * внутрь этой компоненты добавляются MenuItem для отображения конечного пункта меню * для подгрупп можно добавить ещё один MenuGroup внутрь текущей

    +

    Описание элементов:

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    Name Наименование для заголовка группы
    Show Empty Metric Флаг, для отображения суммы метрик по элементам. Если задано false - то в случае если сумма равна нулю - метрика не будет показана false
    Subsidiary Aggregation Флаг для отображения суммы метрик, если false - то сумма по дочерним элементам высчитываться не будет false
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/MenuItem.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/MenuItem.html new file mode 100644 index 0000000..5e3291c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/MenuItem.html @@ -0,0 +1,119 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    +

    Компонент MenuItem предназначен для отображения конечного элемента в меню, навигации по процессам, расчету метрик по пунктам.

    +

    Настройка компоненты: * накидывается на строго на компоненту MenuGroup * элементы добавляются/редактируются в разделе “Меню.Настройка элементов”

    +

    Описание элементов:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    Name Наименование элемента
    Has Metric Необходимость вычислить метрику для элемента false
    Custom Load Флаг для подгрузки метрики из кастомного запроса false
    Custom Dao Заполнение кастомного запроса с возможностью выбора переменных процесса
    Business Process To Start Выбрать процесс, который нужно запустить при нажатии на соответствующий пункт меню
    Dao Выбрать граф сущностей для вычисления метрики
    Aggregation Column Выбор таблицы и колонки, по которой нужна агрегация
    Aggregation Function Выбор агрегирующей функции
    Static Url Флаг для действия элемента, если true - открывает статичный URL false
    Process With Variables Выбор процесса для перехода
    Url URL для перехода
    Visible By Roles Список ролей который могут запустить процесс
    Advanced Properties - Additional Variables Здесь можно указать переменную процесса, значением которой будет значение выбранного объекта на форме. Эту переменную можно использовать в блоке Process with variables - Variables.
    +
      + +
    • по нажатию на элемент, для которых задан Business Process To Start, происходит старт указанного процесса
    • +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/ValidationController.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/ValidationController.html new file mode 100644 index 0000000..d090e87 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/ValidationController.html @@ -0,0 +1,138 @@ + + + + + + + + Web-BPM Docs – ValidationController + + + + + + +
    +
    + + + +
    +
    +

    ValidationController

    +

    Назначение компонента

    +

    ValidationController – инструмент для построения проверок перед сохранением.

    +

    ValidationController срабатывает только в момент сохранения (по кнопке SaveButton на Form.

    +

    Настройка компонента

    +

    Настройка ValidationController включает в себя настройку следующих разделов:

    +
      + +
    • ЕСЛИ условия.
    • +
    • Уведомить реакция системы на выполнение всех условий из ЕСЛИ.
    • +
    +

    +

    Рассмотрим настройку каждого раздела:

    +

    ЕСЛИ

    +

    Этот раздел задает условия(проверки), при выполнении которых будет выполняться раздел Уведомить.

    +

    Условие задается:

    +
      + +
    • ссылкой на объект (на который мы накладываем наше условие):
    • +
    • проверка.
    • +
    +

    Есть возможность создавать группы условий, объединенных логическими операциями “И”, “ИЛИ”.

    +

    Уведомить

    +

    Этот раздел задает реакцию системы, в случае если условия из раздела ЕСЛИ выполнились:

    +

    Есть два типа уведомлений:

    +
      + +
    • + +

      **SYSTEM **– стандартное уведомление, с заданным текстом;

      +

      +
    • +
    • + +

      **CUSTOM **– уведомление, которое будет выведено в заданный компонент. Для примера, будем использовать вывод уведомления в компонент TextArea. Такой вывод происходит в два этапа:

      +
    • +
    • +
        + +
      • + +

        действие до – предварительные действия.
        +В нашем примере, компонент TextArea, в который будет выведено уведомление, необходимо предварительно очистить (присвоить пустое значение):
        +

        +
      • +
      • + +

        действие _–****_ действия, непосредственно связанные с выводом.
        +Осуществим вывод в TextArea:
        +

        +
      • +
      +
    • +
    +

    Пример настройки

    +

    Задача: На странице имеются два поля (ComboBox) и кнопка сохранения. Необходимо проверить на заполненность этих полей при сохранении.

    +

    +
      + +
    1. + +

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

      +

      +

      Замечание

      +

      Обратите внимание, поля расположены в Form.

      +

      ValidationController расположен в Form.

      +
    2. +
    3. + +

      Настраиваем компонент Form (см. Настройка Grid), компоненты ComboBox, SaveButton.

      +
    4. +
    5. Настраиваем ValidationController: +
        + +
      1. Создаем Условие (ЕСЛИ), нажатием на кнопку . Условия в этом примере связаны логической операцией ИЛИ, т.к. необходимо проверить оба поля на пустоту (если поставим И - будет выдаваться сообщение только если оба поля будут пустыми).
      2. +
      3. К Условию привязываем объект для валидации - PersistingComboBox_country (необходимо проверять ComboBox, содержащий страны, на пустоту): +

      4. +
      5. Задаем проверку на пустоту (Если значение ComboBox пусто):
        +
      6. +
      7. Тоже самое для второго ComboBox, содержащего города:
        +
      8. +
      9. Задаем реакцию на выполненные условия (Уведомить):
        +из выпадающего списка выбираем SYSTEM - вывод простого системного сообщения:
        +
      10. +
      11. Зададим сообщение:
        +
      12. +
      +
    6. +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/index.html new file mode 100644 index 0000000..e96ef8b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/index.html @@ -0,0 +1,52 @@ + + + + + + + + Web-BPM Docs – Компоненты без категории + + + + + + +
    +
    + + + +
    +
    +

    Компоненты без категории

    +

    Компоненты - TODO Calendar - IFrame - ValidationController - Диаграмма - Диаграмма Гантта (Календарный план) - Календарь - Меню. Группа - Меню. Элемент - Обработка событий - HyperLink - InnerHtml

    +

    Функции - AC. Методы объектов страницы - Condition Operation

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма.html new file mode 100644 index 0000000..059669b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма.html @@ -0,0 +1,160 @@ + + + + + + + + Web-BPM Docs – Диаграмма + + + + + + +
    +
    + + + +
    +
    +

    Диаграмма

    +

    Диаграмма - это компонента, которая используется для визуализации агрегированных аналитических показателей, полученных в результате выполнения запроса к базе данных.

    +

    Представляет возможность графического отображения на web-странице предусмотренных аналитиком значений мер (measures) в виде диаграмм известных и наиболее распространенных типов на шкале измерений (dimensions). Предоставляет функциональность выбора типа диаграммы, ее легенды, отображения динамичных контекстных подсказок показателей, управление видимостью показателей из легенды.

    +

    Компонента Диаграмма находится в разделе Компоненты - Без категории - Диаграмма (рис.1)

    +

    Свойства

    +

    Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Тип диаграммы позволяет выбрать один из распространенных типов диаграммы
    Допустим выбор типа диаграммы определяет возможность изменения типа диаграммы пользователем “на-лету” во время работы на web-странице в запущенном приложении +
      +
    • значение не определено- по умолчанию
    • +
    • изменение типа диаграммы “на-лету” разрешено
    • +
    • изменение типа диаграммы “на-лету” запрещено
    Легенда предписывает компоненте отображать или скрывать легенду диаграммына web-странице в запущенном приложении +
      +
    • значение не определено- по умолчанию
    • +
    • отображение легенды диаграммы разрешено
    • +
    • отображение легенды диаграммы запрещено
    Позиционирование легенды устанавливает месторасположение легенды диаграммы
    Поле ограничения подгрузки позволяется указать числовое поле, значение которого будет ограничивать число загружаемых данных в диаграмме
    Показывать все значения по оси Х предписывает компоненте отображать все без исключения значения “измерений”, даже если “мера” под такое значение шкалы измерителя отсутствует (не может быть подсчитана). +
      +
    • значение не определено- по умолчанию
    • +
    • отображать все значения “измерений”
    • +
    • отображать только те значения “измерений”, для которых существует (может быть подсчитано) значение “меры”
    +

    Свойство компоненты: Диаграмма. Подгрузка данных

    +

    +

    позволяет задать *Граф сущностей *и взаимосвязи колонок для подгрузки данных в Диаграмму Является обязательным к заполнению и настройке.

    +

    Сущность - это объект с которым работают в графе. В качестве объекта могут быть: таблицы и представления (вью) из базы данных. Понятие сущности не равно понятию таблицы, поскольку одна таблица может быть добавлена в граф несколько раз.

    +

    Скрипт - указывается модуль, реализующий логику построения диаграммы. Установлен по умолчанию, внесение изменений аналитиком не требует

    +

    С описанием настройки Графа сущностей можно ознакомиться в разделе: Настройка Графа сущностей.

    +

    Свойство компоненты: Диаграмма. Настройка

    +

    +

    позволяет настроить отображаемые показатели в Диаграмме.

    +

    Формирование набора этих параметров вкупе со структуройсущности предписывают компоненте автоматически сформировать аналитический агрегирующий запрос, в котором определяется шкала измерений и перечисляются все меры и способ их подсчета.

    +

    Метка - показатель (таблица и колонка из структуры сущности), который будет выступать “измерением” (dimension) в Диаграмме.

    +

    Следует быть уверенным (убедиться), что в колонке значений, которые будут представлены на шкале в качестве измерений, нет ячеек с пустым значением

    +

    Метод агрегирования - не используется

    +

    Наборы данных - формируемый аналитиком список “мер” (measures)и способ их подсчета для отображения по шкале измерений.

    +

    Метка - наименование “меры”, которое будет отображаться во всплывающей подсказке в Диаграмме

    +

    Колонка - таблица и колонка, значения из которой будут обрабатываться в качестве “меры”

    +

    Метод агрегирования - операция по вычислению агрегата над значениями “меры”

    +

    +

    +

    Одним из результатов работы компоненты в приведенной конфигурации будет корректный sql-запрос вида:

    +

    {select “Проекты”.“name”, max(“Список задач”.“task_id”) as “Список задач.task_id”, sum(“Список задач”.“task_id”) as “Список задач.task_id”, count(“Список задач”.“task_id”) as “Список задач.task_id” from “public”.“projects” as “Проекты” left outer join “public”.“tasks” as “Список задач” on “Список задач”.“project_id” = “Проекты”.“project_id” group by “Проекты”.“name”}

    +

    что позволит визуализирвоать , например, столбчатую диаграмму в таком виде:

    +

    +

    на горизонтальной оси размещены “измерения” (наименования проектов), по вертикальной оси в виде столбиков откладываются 3 “меры” (показатели: сумма идентификаторов задач, количество идентификаторов задач, максимальное значение идентификатора задачи).

    +

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

    +

    Функции

    +

    Настройка фильтрации в таблице и графике для компоненты Диаграмма

    +

    Определить_роли_текущего_пользователя

    +

    Определить права текущего пользователя

    +

    Методические рекомендации по применению

    +

    Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

    + +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    Как сортируются “измерения” и “меры” в Диаграмме? Можно ли изменить порядок сортировки и следования внутри шкалы измерений и мер? В произвольном порядке. Изменить порядок сортировки (следования) нельзя.
    Можно ли вывести легенду? Да, можно.
    Можно ли после отрисовки страницы с диаграммой в приложении поменять ее тип? Да, можно, в специально предназначенном для этого элементе управления Диаграммой.
    Можно ли скрывать значения и визуальное представление “мер” на Диаграмме ? Да, можно. Клик мыши по наименованию “меры” в легенде диаграммы скрывает визуализацию этой “меры” на Диаграмме.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма_chart-v2.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма_chart-v2.html new file mode 100644 index 0000000..7a6bc4b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма_chart-v2.html @@ -0,0 +1,257 @@ + + + + + + + + Web-BPM Docs – Chart v2 + + + + + + +
    +
    + + + +
    +
    +

    Chart v2

    +

    Назначение

    +

    Chart v2 - отображение графиков.

    +

    Свойства

    +

    Компонента имеет набор общих свойств. Ниже отображены свойства, специфичные только для данной компоненты.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    legendPosition Расположение описания графика. Если не задано, то описание не отображается ‘top’, ‘left’, ‘bottom’, ‘right’
    legendAlign Выравнивание описания графика ‘start’, ‘center’, ‘end’. По умолчанию ‘center’
    loadOnStart Загружать данные при инициализации true, false. По умолчанию - true
    chartType Тип графика. Для типов графиков LINE, BAR, HORIZONTAL_BAR задаётся dataSetServices, для типов PIE, DOUGHNUT задаётся dataSetService LINE, PIE, DOUGHNUT, BAR, HORIZONTAL_BAR
    datasetType Тип подгрузки данных: с агрегацией (AGGREGATION) или нет (STATIC) STATIC, AGGREGATION
    chartType Подтип графика. Сценарий использования - необходимо отобразить столбчатую диаграмму внутри линейной. Основной тип - линейная, подтип - столбчатая LINE, BAR, HORIZONTAL_BAR
    scales Шкалы. По умолчанию шкала по Х и шкала по У создаётся автоматически. Необходимо задавать, если нужно отобразить более 1 шкалы.
    Scale.ScaleId Идентификатор шкалы
    Scale.Position Расположение шкалы
    Scale.Display Отображать или нет шкалу
    Scale.Type TODO:
    Scale.BeginAtZero TODO:
    Scale.Stacked TODO:
    Scale.GridSettings.DrawOnChartArea TODO:
    Scale.TickFormatter Форматирование шкалы TickFormatter
    dataLabel
    dataColumn Колонка с данными
    dataColumnFormatter Тип форматирование данных
    labelColumn Колонка с подписью данных
    labelColumnFormatter Тип форматирование подписи
    backgroundColor Цвет фона
    borderColor Цвет границы
    xAxesId идентификатор шкалы Х. Идентификаторы задаются в scales
    yAxesId идентификатор шкалы У. Идентификаторы задаются в scales
    tension Сглаживание данных. 0 - без сглаживания
    columnSorts Колонки для сортировки данных
    aggregationDataSet.aggregationFunction Функция агрегации. Задаётся только в aggregationDataSet MIN, MAX, AVG, COUNT, SUM
    aggregationDataSet.groupByColumns Колонки группировки. Задаётся только в aggregationDataSet
    hoverRadius Размер точки при наведении
    hoverBackgroundColor Цвет точки при наведении
    noDataText Текст для вывода сообщения на графике при отсутствии данных ‘Нет данных для отображения’
    noDataFont Шрифт текста сообщения ‘20px Arial’
    noDataStyle Стиль текста сообщения ‘rgb(100,100,100)’
    +

    TickFormatter

    +

    Назначение

    +

    Для настройки шкал в ChartV2 есть возможность выбрать TickFormatter, с помощью которого на клиентской части можно настраивать отображение данных в шкале.

    +

    Свойства

    + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Script Форматирование исходных данных для корректного отображения. Форматирование будет применяться к значению шкалы. Принимает один из возможных форматеров (см. раздел Tick Formatters ниже).
    +

    Tick Formatters

    + + + + + + + + + + + + + + + + + + +
    Наименование форматера Назначение форматера Настраиваемые значения
    SuffixFormatter Добавляет до и после значения заданные префикс и суффикс. Prefix, Postfix.
    NumberSuffixFormatter Добавляет до и после значения заданные префикс и суффикс, форматирует число по заданным критериям. Prefix, Postfix, Decimal Delimiter, Decimal Length, Sections Delimiter, Sections Length.
    +

    ChartV2AdditionalElementProvider

    +

    В компоненту ChartV2 есть возможность добавить скрипт, который будет отрисовывать на графике любые дополнительные элементы (напр. количество скрытых дней при нажатии на кнопку “скрыть все”).

    +

    Для того чтобы создать скрипт, необходимо отнаследоваться от класса ChartV2AdditionalElementProvider и реализовать метод addAdditionalElement();

    +

    Прим. реализации, которая добавляет надпись.

    + +
    +
    addAdditionalElement(chartV2: ChartV2): void {
    +  let chart = chartV2.chart;
    +  let ctx = chart.ctx;
    +  let width = chart.width;
    +  let height = chart.height;
    +  ctx.textAlign = "center";
    +  ctx.textBaseline = "middle";
    +  ctx.font = this.font;
    +  ctx.fillStyle = this.style;
    +  ctx.fillText("Some text", width / 2, height / 2);
    +  ctx.restore();
    +  }
    +}
    +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма_Гантта_Календарный_план_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма_Гантта_Календарный_план_.html new file mode 100644 index 0000000..b76ad2c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Диаграмма_Гантта_Календарный_план_.html @@ -0,0 +1,152 @@ + + + + + + + + Web-BPM Docs – Диаграмма Гантта (Календарный план) + + + + + + +
    +
    + + + +
    +
    +

    Диаграмма Гантта (Календарный план)

    +

    Диаграмма Гантта (Календарный план) - это компонента, которая используется для иллюстрации плана, графика работ по проекту, визуально показывая пользователю состав работ по проекту, их взаимосвязь и расположение по шкале времени (также известна под названием Диаграммы Гантта)

    +

    Представляет собой отрезки, размещенные на горизонтальной шкале времени. Каждый отрезок соответствует какой-либо задаче. Список задач, составляющих такой план, размещаются по вертикальной шкале. Начало, конец и ширина отрезка на шкале времени соответствуют началу, концу и длительности задачи.

    +

    Компонента Календарный график находится в разделе Компоненты - Без категории - Диаграмма Гантта (рис.1)

    +

    Свойства

    +

    Компонента имеет набор общих свойств.

    +

    Свойство компоненты: Диаграмма Гантта. Подгрузка данных

    +

    +

    позволяет задать Граф сущностей и взаимосвязи колонок для подгрузки данных в Диаграмму Гантта

    +

    Является обязательным к заполнению и настройке.

    +

    Сущность - это объект с которым работают в графе. В качестве объекта могут быть: таблицы и представления (вью) из базы данных. Понятие сущности не равно понятию таблицы, поскольку одна таблица может быть добавлена в граф несколько раз.

    +
      + +
    • + +

      Скрипт - указывается модуль, реализующий логику построения календарного графика. Установлен по умолчанию, внесение изменений аналитиком не требует

      +
    • +
    • + +

      Колонка с идентификатором задач - это колонка главной сущности графа, которая содержит первичный ключ (как правило, идентификатор задачи)

      +
    • +
    • + +

      Колонка с наименованием задач - это колонка той сущности графа, которая содержит наименование задачи для отображения пользователю (как правило, в колонке должно находиться текстовое значение)

      +
    • +
    • + +

      Колонка с датой старта задач - это колонка той сущности графа, которая содержит дату, в которую запланирован старт задачи

      +
    • +
    • + +

      Колонка с датой завершения задач - это колонка той сущности графа, которая содержит дату, в которую запланировано завершение работ по задаче

      +
    • +
    • + +

      Колонка гл. сущн. с идентификатором родительской задачи - это колонка главной сущности графа, которая содержит значение первичного ключа родительской задачи

      +
    • +
    • + +

      Колонка линк. табл. с идентификатором осн. задачи - это колонка линковой таблицы графа сущности, которая содержит значение первичного ключа основной задачи

      +
    • +
    • + +

      Колонка линк. табл. с идентификаторами зависимых задач - это колонка линковой таблицы графа сущности, которая содержит значения первичных ключей тех задач, которые зависят от основной

      +
    • +
    • + +

      Колонка co статусом задач - это колонка той сущности графа, которая содержит формализованное значение статуса задачи:

      +
    • +
    • + +

      “ASSIGNED” - Назначена (заливка бирюзовым цветом)

      +
    • +
    • + +

      “CHECKING” - Требует контроля (заливка желтым цветом)

      +
    • +
    • + +

      “COMPLETED” - Завершена (заливка зеленым цветом)

      +
    • +
    • + +

      “ARCHIVED” - Перемещена в архив (заливка серым цветом)

      +
    • +
    +

    с описанием настройки Графа сущностей можно ознакомиться в разделе: Настройка Графа сущностей

    +

    Свойство компоненты: Диаграмма Гантта. Настройка колонок

    +

    +

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

    +

    с описанием настройки Колонок Таблицы можно ознакомиться в разделе: Настройка колонок Таблицы

    +

    Функции

    +

    Определить_роли_текущего_пользователя

    +

    Определить права текущего пользователя

    +

    Методические рекомендации по применению

    +

    Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

    + +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    Как сортируются задачи в Диаграмме Гантта? Задачи сортируются по возрастанию значений колонки дата завершения (от самых близких по сроку завершения к самым дальним). Изменить порядок сортировки нельзя.
    Можно ли вывести легенду цветовой дифференциации задач? Нет, нельзя.
    Можно ли на самой диаграмме Гантта изменять продолжительность задачи (сдвигать моменты начала и/или конца) ? Нет, нельзя.
    Можно ли на самой диаграмме Гантта сдвинуть задачу целиком по оси времени, не меняя продолжительности задачи (перетянуть как объект)? Нет, нельзя.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Диаграмма_Гантта_Календарный_план_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Диаграмма_Гантта_Календарный_план_на_странице_.html new file mode 100644 index 0000000..db61391 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Диаграмма_Гантта_Календарный_план_на_странице_.html @@ -0,0 +1,141 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Диаграмма Гантта (Календарный план) на странице? + + + + + + +
    +
    + + + +
    +
    +

    Как задействовать компоненту “Диаграмма Гантта (Календарный план)” на странице?

    +

    Постановка задачи: на пользовательской странице Реестр задач необходимо визуализировать список задач по проекту в виде Календарного плана (Диаграммы Гантта).

    +

    Страница “Реестр задач” должна иметь следующие настройки:

    +
      + +
    • основным элементом страницы должна быть компонента “Диаграмма Гантта (Календарный план)”, в главной сущностью которойдолжна быть назначена таблица “Список задач” (tasks).
    • +
    • необходимо задействовать компоненту Набор фильтров с включенной “живой фильтрацией” и с вложенной в Набор фильтров дочерней компонентой “Фильтр по полю ввода с подбором значения” для указания проекта , по которому следует осуществить отбор записей из списка задач.
    • +
    +

    Решение задачи:

    +

    Предполагается, что страница Реестр задач уже создана бизнес-аналитиком, расположена в проекте и связана с Пользовательской задачей на BPMN-схеме процесса . Для решения поставленной задачи необходимо произвести следующие действия:

    +
      + +
    • добавить внутрь страницы компоненту “Диаграмма Гантта”
    • +
    • в настройках добавленной компоненты перейти к разделу Диаграмма Гантта. Подгрузка данных основная - Источник данных - Граф сущностей и настроить его (рис. 1, рис. 2).
    • +
    +

    Для этого сформировать пул таблиц, колонки из которых будут использоваться при настройке отображаемой в Диаграмме Гантта информации и указать связи между ними.

    +

    + +
    +
    рис.1 Настройка Графа сущностей компоненты
    +
    + +

    Настроить прочие параметры компоненты"Диаграмма Гантта", указав на сущности и колонки, содержащие требуемую информацию.

    +

    + +
    +
    рис.2 Настройка компоненты
    +
    + +
      + +
    • добавить компоненту Набор фильтров с включенной “живой фильтрацией” (рис.4)
    • +
    +

    + +
    +
    рис.4 Добавление Компонента Набор фильтра и его связь с компонентой Диаграмма Гантта
    +
    + +
      + +
    • добавить компоненту Фильтр по полю ввода с подбором значения (рис.5) +

      рис. 5а Настройка компоненты Фильтр по полю ввода с подбором значения

    • +
    +

    + +
    +
    Рис. 5б Настройка компоненты Фильтр по полю ввода с подбором
    +значения
    +
    + +

    + +
    +
    рис. 5в Настройка компоненты Фильтр по полю ввода с подбором значения
    +
    + +

    На этом настройка компоненты закончена, запускаем приложение.

    +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис. 6)

    +

    +

    Для большей детализации компонент дает возможность изменить масштаб временного промежутка в котором отображается длительность задачи :

    +

    +

    рис.6. Визуальное отображение выполнения условий задачи

    + +
    +
    +

    Attachments:

    +
    + + +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Диаграмма_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Диаграмма_на_странице_.html new file mode 100644 index 0000000..064d911 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Диаграмма_на_странице_.html @@ -0,0 +1,163 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Диаграмма на странице? + + + + + + +
    +
    + + + +
    +
    +

    Как задействовать компоненту “Диаграмма” на странице?

    +

    Постановка задачи: на пользовательской странице Реестр задач необходимо визуализировать количество задач по каждому из проектов в виде Диаграммы, вид которой можно менять динамически .

    +

    Страница “Реестр задач” должна иметь следующие настройки:

    +
      + +
    • основным элементом страницы должна быть компонента “Диаграмма”, главной сущностьюкоторойдолжна быть назначена таблица “Список задач” (tasks).
    • +
    • необходимо задействовать компоненту Набор фильтров с включенной “живой фильтрацией” и с вложенной в Набор фильтров дочерней компонентой “Фильтр по полю ввода с подбором значения” для указания проекта , по которому следует осуществить отбор записей из списка задач.
    • +
    +

    Решение задачи:

    +

    Предполагается, что страница Реестр задач уже создана бизнес-аналитиком, расположена в проекте и связана с Пользовательской задачей на BPMN-схеме процесса . Для решения поставленной задачи необходимо произвести следующие действия:

    +
      + +
    • добавить внутрь страницы компоненту"Диаграмма"
    • +
    • в настройках добавленнойкомпонентыперейти к раздел у Диаграмма .Подгрузка данных - Источник данных - Граф сущностей и настроить его (рис. 1, рис. 2).
    • +
    +

    Для этого сформировать пул таблиц, колонки из которых будут использоваться при настройке отображаемой в Диаграмме информации и указать связи между ними.

    + +
    +
    рис.1 Настройка Графа сущностей компоненты
    +
    + +

    Настроить прочие параметры компоненты"Диаграмма", указав на сущности и колонки, содержащие требуемую информацию.

    + +
    +
    рис.2 Настройка компоненты
    +
    + +
      + +
    • + +

      добавить компоненту Набор фильтровс включенной “живой фильтрацией” (рис.4)

      +

      рис.4 Добавление Компонента Набор фильтра и его связь с компонентой Диаграмма

      +
    • +
    • + +

      добавить 2 компоненты Фильтр по полю ввода с подбором значения для фильтрации по проекту и по исполнителю задачи (рис.5)

      +
    • +
    + +
    + +
    + +

    Фильтр по полю ввода с подбором значения “Фильтр по проекту”

    +
    +
    + +

    Фильтр по полю ввода с подбором значения “Фильтр по исполнителю”

    +

    +

    + +
    +
    рис. 5 Настройка компонент Фильтр по полю ввода с подбором значения
    +
    + +
      + +
    • настроить добавленные компоненты Фильтр по полю ввода с подбором значения для фильтрации (рис.6)
    • +
    + +
    + +

    Фильтр по полю ввода с подбором значения “Фильтр по проекту”

    +
    + +

    Фильтр по полю ввода с подбором значения “Фильтр по исполнителю”

    + +
    +
    + +

    + +
    +
    + +

    +

    Рис. 6 Настройка компонент Фильтр по полю ввода с подбором значения

    +

    На этом настройка компоненты закончена, запускаем приложение.

    +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены (рис. 7)

    +

    +

    Сузим массив показателей для формирования визуального представления на Диаграмме :

    +

    + +
    +
    +

    Attachments:

    +
    + + +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Обработка_событий_на_странице_.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Обработка_событий_на_странице_.html new file mode 100644 index 0000000..f199c17 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Как_задействовать_компоненту_Обработка_событий_на_странице_.html @@ -0,0 +1,239 @@ + + + + + + + + Web-BPM Docs – Как задействовать компоненту Обработка событий на странице? + + + + + + +
    +
    + + + +
    +
    +

    Как задействовать компоненту “Обработка событий” на странице?

    +

    Постановказадачи: на пользовательской странице Карточка задачи необходимо обеспечить сравнение двух полей с датами (начала и окончания работ) в момент события изменения значения одного из них. Если дата старта окажется больше, чем дата завершения, то вывести диалог с предупреждением, что дата начала выполнения задачи позже даты ее завершения, что само по себе является ошибочным обстоятельством. Если даты заданы верно, то рядом с полями дат вывести в поле с проставленным флагом, что все введено корректно.

    +

    Страница "Карточка задачи " должна иметь следующие настройки:

    +
      + +
    • на странице должны быть размещены 2компоненты Дата без возможности сохранения, компонента Диалог для отображения сообщения о некорректном вводе с компонентой-кнопкой “Ок” и компонента Флаг без возможности сохранения
    • +
    • Компонента Обработка событий, которая реализует алгоритм обработки, описанный в постановке задачи
    • +
    • с базой данных и источниками данных в этом кейсе работать не предполагается,поэтому компоненты с графами сущностей задействованы не будут.
    • +
    +

    Решение задачи:

    +
      + +
    • Добавить на страницу и настроить компоненту Дата для ввода даты начала работ по задаче (рис.1)
    • +
    +

    +

    рис.1 Добавление компоненты Дата и настройка ее основных параметров (дата начала работ по задаче)

    +
      + +
    • Добавить на страницу и настроить компоненту Дата для ввода даты окончания работ по задаче(рис.2)
    • +
    +

    +

    рис.2 Добавлениекомпоненты Датаи настройка ее основных параметров (дата окончания работ по задаче)

    +
      + +
    • Добавить на страницу и настроить компоненту Флаг (рис. 3)
    • +
    +

    +

    рис.3 Добавлениекомпоненты Флаги настройка ее основных параметров (отметка о корректности ввода значений)

    +
      + +
    • Добавить компоненту Диалог и внутрь нее добавить компоненты Text (для описания ошибки) и Кнопка (для закрытия Диалога после ознакомления с ошибкой) (рис.4)
    • +
    +


    +

    +

    рис.4 Добавление компоненты Диалог, Text и Кнопка

    +
      + +
    • Добавить первую компоненту Обработка событий1 и настроить алгоритм проверки дат (рис.5)
    • +
    +

    +

    рис.5 Настройка компоненты Обработка события для выявления ситуации, когда обе даты введены пользователем и при этом расположены в ошибочном порядке

    +

    (с компоненты Флаг снимается галочка, она превращается в невидимую компоненту, пользователю выводится компонента Диалог)

    +
      + +
    • Добавить вторую компоненту Обработка событий2 и настроить алгоритм проверки дат (рис.6)
    • +
    +

    +

    рис.6 Настройка компоненты Обработка события для выявления ситуации, когда обе даты явно введены и при этом расположены в верном порядке

    +

    (выводится компонента Флаг с помеченной галочкой внутри)

    +
      + +
    • Добавить компоненту Обработка событий и настроить реакцию на нажатие кнопки “Ок” в Диалоге, заключающуюся в очищении полей с неправильными значениями дат (рис.7)
    • +
    +

    +

    рис.7 Настройка компоненты Обработка события для выявления ситуации, когда нажата кнопка “Ок” в Диалоге

    +

    (компонента Диалог закрывается,с компоненты Флаг снимается галочка, она превращается в невидимую компоненту, поля с датами очищаются)

    +

    На этом настройка страницы закончена, можно собрать приложение и проверить работу компоненты.

    +

    Результат выполнения задачи:

    +

    После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображаются таблица и блок фильтрации с компонентой “Фильтр по полю ввода с подбором значения” (рис.8 - рис.11)

    + +
    + + + + + + + + + + + + + + + + + + +
    +
    + +

    +
    +
    + +

    +
    +

    рис.8 Открытие страницы.

    + +

    Заполняем первое поле с датой.

    + +

    Ничего не происходит, потому что не выполнены условия ни одной из компонент Обработка событий (видно из анализа Консоли браузера)

    +

    рис. 9 Заполняем второе поле с датой. Порядок дат верный (начало периода раньше, чем окончание)

    + +

    Система помечает флажком компоненту Флаг и переводит ее в видимое состояние, поскольку обнаружено событие изменения второй даты и условия, при которых произошло это событие, выполнены.

    + +

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

    +
    + +
    + + + + + + + + + + + + + + + + + + +
    +
    + +

    +
    +
    + +

    +
    +

    рис.10 Меняем дату во втором поле ввода таким образом, чтобы порядок дат стал ошибочным (начало периода позже , чем окончание).

    + +

    Данное событие и условия, в которых оно возникло, обнаруживается компонентом Обработка событий ,поэтому Система выдает сообщение об ошибочном вводе посредством отображения компоненты Диалог в модальном режиме (весь экранный интерфейс, кроме она диалога, блокируется для пользователя) и ожидает дальнейших действий пользователя.

    + +

    На заднем плане видно, что выставленный на предыдущем этапе флажок корректного ввода пропал с экрана.

    + +

    Консоль браузера подсказывает, что изменения произошли потому, что исполнился заложенный в Систему аналитиком на этапе разработкиалгоритм, который предусматривает вывод диалогового окна, скрытие компоненты, показывающей факт корректного ввода и сброс ее значения в состояние "не отмечено".

    +

    рис.11 Нажали кнопку "Ок" в компоненте Диалог.

    + +

    Данное событие обнаруживается компонентом Обработка событий, поэтому Система скрывает компоненту Диалог, снимает блокировку с экранного интерфейса и очищает обе даты, которые заполнены в ошибочном порядке .

    + +

    Консоль браузера подсказывает, что изменения произошли потому, что исполнился заложенный в Систему аналитиком на этапе разработкиалгоритм, который предусматривает скрытие диалогового окна, скрытие компоненты, показывающей факт корректного ввода и сброс ее значения в состояние "не отмечено", а также очищение значений в полях ввода дат.

    +
    + +
    +
    +

    Attachments:

    +
    + +
    + +

    image2019-4-10_15-37-9.png (image/png)
    + image2019-4-10_15-41-23.png (image/png)
    + image2019-4-10_16-39-56.png (image/png)
    + image2019-4-11_15-37-26.png (image/png)
    + image2019-4-11_15-38-18.png (image/png)
    + image2019-4-10_18-20-12.png (image/png)
    + image2019-4-10_18-22-13.png (image/png)
    + image2019-4-10_18-49-15.png (image/png)
    + image2019-4-10_18-47-41.png (image/png)
    + image2019-4-10_18-48-6.png (image/png)
    + image2019-4-10_18-48-28.png (image/png)
    + image2019-4-10_18-48-42.png (image/png)
    + image2019-4-11_10-34-31.png (image/png)
    + image2019-4-12_17-18-58.png (image/png)
    + image2019-4-12_17-19-53.png (image/png)
    + image2019-4-12_17-21-32.png (image/png)
    + image2019-4-12_17-31-51.png (image/png)
    + image2019-4-12_17-44-33.png (image/png)
    + image2019-4-12_17-45-10.png (image/png)
    + image2019-4-12_17-48-29.png (image/png)
    + image2019-4-12_17-50-13.png (image/png)
    + image2019-4-12_17-50-42.png (image/png)
    + image2019-4-12_18-0-57.png (image/png)
    + image2019-4-12_18-23-10.png (image/png)
    + image2019-4-12_18-23-58.png (image/png)
    + image2019-4-12_18-25-26.png (image/png)
    + image2019-4-12_18-26-42.png (image/png)
    + image2019-4-12_18-33-7.png (image/png)
    + image2019-4-12_18-34-16.png (image/png)
    + image2019-4-12_18-35-29.png (image/png)
    + image2019-4-12_18-35-48.png (image/png)
    + image2019-4-12_18-36-13.png (image/png)
    + image2019-4-17_12-1-35.png (image/png)
    + image2019-4-17_12-4-17.png (image/png)
    + image2019-4-17_12-9-33.png (image/png)
    + image2019-4-17_12-10-16.png (image/png)
    + image2019-4-17_12-16-38.png (image/png)
    + image2019-4-17_12-23-13.png (image/png)
    + image2019-4-17_12-38-33.png (image/png)
    + image2019-4-17_12-56-24.png (image/png)

    +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Настройка_фильтрации_в_таблице_и_графике_для_компоненты_Диаграмма.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Настройка_фильтрации_в_таблице_и_графике_для_компоненты_Диаграмма.html new file mode 100644 index 0000000..8766d6c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Настройка_фильтрации_в_таблице_и_графике_для_компоненты_Диаграмма.html @@ -0,0 +1,54 @@ + + + + + + + + Web-BPM Docs – Настройка фильтрации в таблице и графике для компоненты Диаграмма + + + + + + +
    +
    + + + +
    +
    +

    Настройка фильтрации в таблице и графике для компоненты Диаграмма

    +

    в таблице для возможности строить запросы с агрегацией используется GridService → GridServiceWithAggregationColumnsImpl

    +

    В FilterGroup накидывается Grid, в Chart добавляется скрипт FilterDelegate.ts, в FilterDelegate.ts накидываем Grid

    +

    при активации фильтрации она будет произведена и в Таблице, и в Графике

    +

    Внимание! часть структуры по которой фильтруется Таблица и часть структуры по которой фильтруется График должны совпадать (название фильтруемой таблицы и колонки)

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Обработка_событий.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Обработка_событий.html new file mode 100644 index 0000000..587bdc2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Обработка_событий.html @@ -0,0 +1,148 @@ + + + + + + + + Web-BPM Docs – Обработка событий + + + + + + +
    +
    + + + +
    +
    +

    Обработка событий

    +

    Назначение

    +

    Обработка событий - это невидимый для пользователя на web странице компонент, представляющий собой визуальный инструмент для аналитика, с помощью которого аналитик выстаивает алгоритм динамического управления функционированием web-страницы, основанный на отслеживании событий, происходящих на ней во время взаимодействия с пользователем в режиме исполнения (runtime mode). Динамическое управление подразумевает анализ вариантов возможных событий и действий пользователя с интерфейсом Системы, проверка условий, в которых происходят эти события и действия, предварительное составление последовательности необходимых манипуляций, которые должна предпринять Система в ответ на каждое из возможных воздействий пользователя.

    +

    Аналитик, используя компонент Обработка событий при проектировании web-страницы, получает в свое распоряжение рычаги управления свойствами, параметрами и настройками, а также значениями визуальных компонент, которые первоначально задаются в Инспекторе редактора страниц. Кроме того, компонент позволяет использовать скрытые в Инспекторе методы управления компонентами.

    +

    Компонента может располагаться в любом удобном для аналитика месте в составе дерева компонентов web странице.

    +

    Компонента Обработка событий находится в разделе Компоненты - Без категории - Обработка событий.

    +

    Свойства

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Когда Позволяет указать событие (перечень событий) которые нужно отследить Системе на экранной форме. +

    Добавление каждого из возможных событий осуществляется нажатием на кнопку и перетаскиваем соответствующего визуального компонента из иерархии страницы в появившееся поле. Так происходит связывание процесса ожидания события с конкретной компонентой, от которой это событие ожидается.

    +

    После указания субъекта события (компоненты из структуры страницы), следует указать какое именно событие от выбранной компоненты следует ожидать Системе - в следующем открывшемся поле выбрать это событие из списка всех возможных событий этой компоненты. Если добавлено несколько событий, то они автоматически соединяются между собой оператором ИЛИ (то есть система отслеживает появление хотя бы одного из них) и поменять этот оператор соединения событий нельзя.

    Если Позволяет задать условия, которые необходимо проверить системе при срабатывании механизма слежения за предписанным в предыдущем пункте событием. +

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

    +

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

    +

    Как правило, для получения значений текущей настройки, параметра, свойства или фактического значения используются методы компонент, которые перечисляются в предлагаемом списке.

    При визуальном формировании условия Система позволяет указать оператор сравнения между двумя значениями, при этом предлагаются операторы сравнения, релевантные используемым типам данных. Значение, с которым происходит сравнивание, может быть выбрано одним из трех типов: +
      +
    • статичное (аналитик сам указывает точное значение)
    • +
    • объект (аналитик накидывает дополнительно компоненту и метод, из которого будет получено это значение)
    • +
    • переменная процесса (аналитик дополнительно указывает переменную процесса, из которой будет получено это значение)
    +

    Визуальный конструктор позволяет аналитику выстраивать условия любой сложности и вложенности, разделять условия проверок на отдельные группы и явно выбирать оператор соединения как групп между собой, так и отдельных условий в каждой группе.

    +

    Формирование условий может и не выполняться при настройке, тогда Система при обнаружении события сразу перейдет в секции “Тогда” визуального конструктора алгоритма.

    Тогда +

    позволяет задать последовательность действий с одной или несколькими компонентами в случае, когда случилось отслеживаемое событие и выполнены заданные выше условия проверки вмомент происхождения события.

    +

    Если условия проверки не заданы, то Система сразу после обнаружения факта совершения ожидаемого события выполняет действия, описанные в этом пункте.

    +

    Принцип формирования каждого конкретного действия в списке действий идентичен принципу формирования события, описанному в первом пункте. Также появляется поле для перетаскивания из дерева компонент страницы той компоненты, над которой следует провести определенную операцию, а затем в следующем окне из предустановленного списка выбирается метод, который необходимо применить к компоненте и значение, которое является входящим аргументом для этого метода.Значение, которое передается в выбранный метод, может быть выбрано одним из трех типов:

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

    Все перечисленные в списке этого пункта действия выполняются через оператор "И", то есть выполняется каждое из заложенных действий. Изменить этот оператор соединения действий нельзя.

    +

    Например, “Числовое поле”. “Задать видимость” == “True”

    +

    Последовательность исполнения Системой инструкций в данном разделе не всегда соответствует порядку их расположения в конструкторе. В общем случае, порядок выполнения инструкций выбирается браузером произвольно.

    Иначе +

    позволяет задать последовательность действий с одной или несколькими компонентами в случае, когда случилось отслеживаемое событие, а набор условий, заданных выше, в момент происхождения события не является истинным.

    +

    Принцип формирования каждого конкретного действия в списке действий идентичен принципу формирования события, описанному в предыдущем пункте. Также появляется поле для перетаскивания из дерева компонент страницы той компоненты, над которой следует провести определенную операцию, а затем в следующем окне из предустановленного списка выбирается метод, который необходимо применить к компоненте и значение, которое является входящим аргументом для этого метода.Значение, которое передается в выбранный метод, может быть выбрано одним из трех типов:

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

    Все перечисленные в списке этого пункта действия выполняются через оператор “И”, то есть выполняется каждое из заложенных действий. Изменить этот оператор соединения действий нельзя.

    +

    Последовательность исполнения Системой инструкций в данном разделе не всегда соответствует порядку их расположения в конструкторе. В общем случае, порядок выполнения инструкций выбирается браузером произвольно.

    +

    Функции

    +

    Определить роли текущего пользователя

    +

    Определить права текущего пользователя

    +

    Методические рекомендации по применению

    +

    Пошаговые инструкции по применению компонента в типовых задачах Вы можете найти в разделах:

    + +

    Другое

    +

    Для включения логирования ActionController в prod сборке приложения необходимо выполнить команду в консоли браузера

    +

    window.dev_mode=true;

    +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    В чем преимущества и гибкость компоненты Обработка событий? С использованием совокупности компонент Обработка событий, расположенных на странице,страница сама по себе может стать самостоятельной микросистемой (подмодулем) со своей логикой работы, встраивающейся в общую логику всей системы. Визуальное представление возможности строить алгоритмы посредством нескольких кликов манипулятором “мышь” и перетаскиванием нужных компонентов из иерархии страницы позволяет аналитику избежать необходимости привлечения писателей программного кода для “оживления” страницы. После сборки и запуска приложения платформа самапревратит заданные визуально алгоритмы в соответствующий код, который будет исполняться браузером пользователя.
    Существует ли возможность задать порядок рассмотрения и исполнения Системой алгоритмов из разных компонентов Обработка событий между собой? Нет, нельзя.
    Можно ли поставить рассмотрение и исполнение алгоритма из одного компонента Обработка событий в зависимость от алгоритма из другого компонента Обработка событий? Нет, нельзя.
    Как отследить исполнение и понять какие компоненты Обработка событий сработали на странице и по какому алгоритму они сработали Следует открыть в браузере “Инструменты разработчика” (обычно клавиша F12), перейти на вкладку “Консоль” и изучить расположенные там записи.В консоль выводятся информация ТОЛЬКО ОБ ОТРАБОТАВШИХ компонентах Обработка событий (Условия из раздела ЕСЛИ выполнились). Соответственно, выводится Satisfied condition for ActionController если выполнился раздел ТОГДА и Not satisfied condition for ActionController если раздел ИНАЧЕ.
    +

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Разные_компоненты.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Разные_компоненты.html new file mode 100644 index 0000000..da1097b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/uncategorized/Разные_компоненты.html @@ -0,0 +1,52 @@ + + + + + + + + Web-BPM Docs – Таблицы + + + + + + + +
    +
    +
    +
    +

    © 2022 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Включить_вычисление_математических_операций.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Включить_вычисление_математических_операций.html new file mode 100644 index 0000000..28e10e3 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Включить_вычисление_математических_операций.html @@ -0,0 +1,63 @@ + + + + + + + + Web-BPM Docs – Включить вычисление математических операций + + + + + + +
    +
    + + + +
    +
    +

    Включить вычисление математических операций

    +

    Функция, которая не имеет настраиваемых аналитиком параметров, но будучи задействованной, позволяет осуществить одну из математических операций (сложение, вычитание, умножение, деление) во время работы приложения (in runtime mode). Применима к компонентам, оперирующим числами - Числовое поле, Денежное поле. Результат вычисления помещает в тот компонент, на который была добавлена, замещая находившее там прежде значение. Математические действия возможны только с 2 аргументами.

    +

    Она относится к той группе функций, чья функциональность применяетсяи может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется нескольконовых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ значение в одном из числовых полей изменилось ТО к значению во втором числовом поле прибавить измененное значение из первого числового поля’

    +

    +

    Рис.1 Активация функции на компоненте с первым аргументом

    +

    +

    Рис.2 Второй аргумент

    +

    +

    Рис. 3 Пример обработки события изменения значения второго аргумента, в результате которого вычисляется сумма аргументов (появился новый метод Сложить; у исходной компоненты, доступны также методы Вычесть, Умножить, Разделить )

    +

    После запуска web-приложения (in runtime mode) вносим значение в поле “Аргумент 1”, затем в момент внесения значения в поле “Аргумент 2” , значение в поле"Аргумент 1" изменяется на значение суммы (“Аргумент 1” + “Аргумент 2”), в консоли браузера можно наблюдать сообщение о срабатывании компоненты Обработка событий, которое показывает выполненное функцией действие.

    +

    +

    Рис 4. Вносим значение в поле Аргумент 1

    +

    +

    Рис.5 Функция рассчитывает сумму аргументов

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Добавить_строку_к_значению_в_текущем_поле.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Добавить_строку_к_значению_в_текущем_поле.html new file mode 100644 index 0000000..1787182 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Добавить_строку_к_значению_в_текущем_поле.html @@ -0,0 +1,63 @@ + + + + + + + + Web-BPM Docs – Добавить строку к значению в текущем поле + + + + + + +
    +
    + + + +
    +
    +

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

    +

    Функция, которая не имеет настраиваемых аналитиком параметров, но будучи задействованной, позволяет дописать в конец текстового значения одной компоненты текстовое значение другой компоненты во время работы приложения (in runtime mode). Применима к компоненте, оперирующей строками, - Текстовое поле. Результат объединения строк помещает в тот компонент, на который была добавлена, замещая находившее там прежде значение. Функция добавления строки к значению в текущем поле может оперировать только с 2 аргументами.

    +

    Она относится к той группе функций, чья функциональность применяется и может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется нескольконовых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ’ЕСЛИ значение в одном из текстовых полей изменилось ТО в конец значения во втором текстовом поле добавить строковое значение из первого числового поля.

    +

    +

    Рис.1 Активация функции на компоненте с первой строкой

    +

    +

    Рис.2 Второе строковое значение

    +

    +

    Рис. 3 Пример обработки события изменения значения string2, в результате которого формируется строка конкатенацией строк string1 и string2 (появился новый метод Добавить строку у исходной компоненты)

    +

    После запуска web-приложения (in runtime mode) вносим значение в поле “Строка 1”, затем в момент внесения значения в поле “Строка 2”, значение в поле"Строка 1" изменяется на конкатенированное значение полей (“Строка 1” + “Строка 2”), в консоли браузера можно наблюдать сообщение о срабатывании компоненты Обработка событий, которое показывает выполненное функцией действие.

    +

    +

    Рис 4. Вносим значение в поле “Строка 1”;

    +

    +

    Рис.5 Функция соединяется строки

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_из_переменной_процесса.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_из_переменной_процесса.html new file mode 100644 index 0000000..ca8a540 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_из_переменной_процесса.html @@ -0,0 +1,78 @@ + + + + + + + + Web-BPM Docs – Заполнить значением из переменной процесса + + + + + + +
    +
    + + + +
    +
    +

    Заполнить значением из переменной процесса

    +

    Назначение

    +

    Функция, которая позволяет получить значение из указанной аналитиком переменной процесса и заполнить визуальный компонент ‘значением по умолчанию’.

    +

    В платформе существуютследующие возможные способы работы со значениями по умолчанию:

    +
      + +
    1. из колонки таблицы, указанной в структуре сущности родительской (по отношению к текущему) компоненты-контейнера (например, компоненты Форма, параметр Подгрузка данных по умолчанию)
    2. +
    3. из колонки таблицы, указанной в собственной, индивидуальной, структуре сущностей, принадлежащей текущей компоненте.
    4. +
    5. из переменной процесса (для этого следует воспользоваться обособленной функцией Заполнить значением из переменной процесса, которая и добавляется в компоненту и конфигурируется отдельно).
    6. +
    7. заполнить атрибут ‘Значение по умолчанию’ в основных параметрах любого визуального компонента.
    8. +
    +

    Функция Заполнить значением из переменной процесса позволяет оперировать алгоритмом из п.3

    +

    +

    Настройка

    + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Заполнить значением из переменной процесса Формирует список всех переменных процесса и выводит в виде выпадающего списка для выбора аналитиком. В процессе работы приложения заполняет значением выбранной переменной ту визуальную компоненту, для которой функция была активирована
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию.html new file mode 100644 index 0000000..784c873 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию.html @@ -0,0 +1,115 @@ + + + + + + + + Web-BPM Docs – Заполнить значением по умолчанию + + + + + + +
    +
    + + + +
    +
    +

    Заполнить значением по умолчанию

    +

    Назначение

    +

    Функция, которая позволяет настроить параметры и осуществить запрос данных для заполнения компоненты значением по умолчанию.

    +

    В платформе существуютследующие возможные способы работы со значениями по умолчанию:

    +
      + +
    1. из колонки таблицы, указанной в структуре сущности родительской (по отношению к текущему) компоненты-контейнера (например, компоненты Форма, параметр Подгрузка данных по умолчанию)
    2. +
    3. из колонки таблицы, указанной в собственной, индивидуальной, структуре сущностей, принадлежащей текущей компоненте.
    4. +
    5. из переменной процесса (для этого следует воспользоваться обособленной функцией Заполнить значением из переменной процесса, которая и добавляется в компоненту и конфигурируется отдельно).
    6. +
    7. заполнить атрибут ‘Значение по умолчанию’ в основных параметрах любого визуального компонента.
    8. +
    +

    Функция Заполнить значением по умолчанию позволяет оперировать алгоритмами из пп.1 и 2.

    +

    +

    При выборе варианта “Из колонки” подгрузка значения по умолчанию осуществляется по алгоритму из п.1

    +

    При выборе варианта “Из сервиса” подгрузка значения по умолчанию осуществляется по алгоритму из п.2

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Тип подгрузки Наименование параметра Назначение параметра Принимаемые значения
    Из колонки Колонка Позволяет указать таблицу и колонку ‘структуры сущности по умолчанию’ родительской компоненты-контейнера, из которой следует взять значение для текущей компоненты ‘Таблица1’ в этом случае является элементом ‘структуры сущностей по умолчанию’ графа (параметр Подгрузка данных по умолчанию) родительской компоненты Форма
    Из сервиса Сервис Описывает запрос к базе данных, результаты которого позволяют наполнить вложенные видимые компоненты’значениями по умолчанию’из базы данных при открытии веб-страницы приложения. +
      +
    • с помощью визуального конструктора запросов позволяет задать Граф сущностей, т.е. указать объекты базы данных и взаимосвязи между ними для получения и отображенияна веб-странице информации по умолчанию, но не ее сохранения.
    • +
    • с помощью параметра Переменная процесса с идентификатором позволяет ограничить результаты полученного запроса единственным идентификатором смысловой единицы создаваемого интерфейса.
    Сервис Скрипт Скрипт автоматически выставляется по умолчанию, указывает платформе, что ‘значение по умолчанию’ для текущей компоненты следует получить из собственного запроса к базе данных
    Источник данных Скрипт предписывает использовать визуальный конструктор для построения запроса Единственный возможный вариант, выставлен по умолчанию
    Граф сущностей Граф сущностей позволяет с помощью визуального конструктора сформировать набор объектов базы данных, указать взаимосвязи между ними и\или дополнительные условия, тем самым подготовить запрос в базу данных. При подгрузке данных сформированный запрос отрабатывает как Select-запрос. ‘Таблица2’ в этом случае является элементом собственной структуры сущностей графа текущей компоненты
    Заполнить из колонки Позволяет указать таблицу и колонку собственной структуры сущности текущей компоненты, из которой следует взять ‘значение по умолчанию’
    Переменная процесса с идентификатором Позволяет выбрать из списка переменную процесса, содержащую в себе идентификатор сущности. Список формируется автоматически из всех переменных используемых в BPMN-процессе. Является ограничивающим значением запроса (в секции WHERE primary_id = ), построенного в визуальном конструкторе параметра Граф сущностей. Благодаря этому ограничению, источник данных выбирает атрибуты единственной смысловой сущности создаваемого интерфейса. task_id
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию_Пополняемый_список_зависимых_записей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию_Пополняемый_список_зависимых_записей.html new file mode 100644 index 0000000..4e129cc --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию_Пополняемый_список_зависимых_записей.html @@ -0,0 +1,83 @@ + + + + + + + + Web-BPM Docs – Заполнить значением по умолчанию. Пополняемый список зависимых записей + + + + + + +
    +
    + + + +
    +
    +

    Заполнить значением по умолчанию. Пополняемый список зависимых записей

    +

    Назначение

    +

    Функция, которая позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компоненты Пополняемый список зависимых записей.

    +

    Функция Заполнить значением по умолчанию должна быть задействована и настроенана компоненте “Редактируемая таблица”, входящей в состав сложнойкомпоненты Пополняемый список зависимых записей. При этом, на вышележащей компоненте Форма скрипт Подгрузка значений по умолчанию должен быть активирован (но может быть не настроен).

    +

    Результатом исполнения функции Заполнить значением по умолчанию является одно или несколько значений, которыми предзаполняется компонента “Редактируемая таблица”, входящая в состав сложной компоненты Пополняемый список зависимых записей, и отображающая список тех строк, которыми будет пополнена связанная с основной таблицей компоненты Форма таблица.

    +

    В этом основное отличие этой функции от аналогичной функции, используемой для запроса ‘значений по умолчанию’ обычных визуальных компонентов, но оперирующей только одним значением.

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Тип подгрузки единственное возможное значение, выставляется по умолчанию. Описывает запрос к базе данных, результаты которого позволяют наполнить компоненту Редактируемая таблица ’значениями по умолчанию’из базы данных при открытии веб-страницы приложения. С помощью визуального конструктора запросов позволяет задать Граф сущностей т.е. указать объекты базы данных и взаимосвязи между ними для получения и отображенияна веб-странице информации по умолчанию но не ее сохранения
    Скрипт Скрипт автоматически выставляется по умолчанию, указывает платформе, что ‘значение по умолчанию’ для текущей компоненты следует получить из собственного запроса к базе данных
    Граф сущностей позволяет с помощью визуального конструктора сформировать набор объектов базы данных, указать взаимосвязи между ними и\или дополнительные условия, тем самым подготовить запрос в базу данных. При подгрузке данных сформированный запрос отрабатывает как Select-запрос. +
      +
    1. Переносим манипулятором Мышь таблицу, которая предоставит строки для подгрузки ‘значений по умолчанию’ в поле графа сущности.
    2. +
    3. Переименовываем (не обязательно, но для понимания) в сущность с именем test_default_eotm. Наименование сущности в этом пункте должно строго соответствовать наименованию этой же сущности в графе сущности функции Подгрузка данных компоненты “Редактируемая таблица”;, входящей в состав сложной компоненты Пополняемый список зависимых записей
    4. +
    5. В настройках фильтрации сущности test_default_eotm формируем условие, ограничивающее то количество выбираемых из сущности записей, которое мы хотим увидеть в ‘значениях, подгруженных по умолчанию’. В примере на скриншоте ограничение наложено на поле с первичным ключом ID (для очевидности), а в реальной жизни, как правило, ограничения накладываются, исходя из сопоставления значений переменной процесса и одной из колонок. Таким образом, из всех возможных записей в сущности test_default_eotm, система отберет в качестве ‘значений по умолчанию’ только те записи, id которых меньше числа 5.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию_Список_зависимых_записей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию_Список_зависимых_записей.html new file mode 100644 index 0000000..622dad7 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Заполнить_значением_по_умолчанию_Список_зависимых_записей.html @@ -0,0 +1,93 @@ + + + + + + + + Web-BPM Docs – Заполнить значением по умолчанию. Список зависимых записей + + + + + + +
    +
    + + + +
    +
    +

    Заполнить значением по умолчанию. Список зависимых записей

    +

    Назначение

    +

    Функция, которая позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компоненты Список зависимых записей.

    +

    Функция Заполнить значением по умолчанию должна быть задействована на обоих компонентах “Связанная таблица”, а настроена только на основной компоненте “Связанная таблица”, входящей в состав сложной компоненты Список зависимых записей.

    +

    +

    Активация и настройка функции на первой компоненте “Связанная таблица”

    +

    +

    Активация без настройки функции на второй компоненте “Связанная таблица”

    +

    При этом, на вышележащей компоненте Форма функция Подгрузка значений по умолчанию должна быть активирована (но может быть не настроена).

    +

    +

    Результатом исполнения функции Заполнить значением по умолчанию является одно или несколько значений, которыми предзаполняются основная компонента “Связанная таблица”, входящая в состав сложной компоненты Список зависимых записей, и отображающая список только тех строк из списка всех доступных строк, которые выбраны пользователем .

    +

    В этом основное отличие этой функции от аналогичной функции, используемой для запроса ‘значений по умолчанию’ обычных визуальных компонентов, но оперирующей только одним значением.

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Тип подгрузки единственное возможное значение, выставляется по умолчанию Описывает запрос к базе данных, результаты которого позволяют наполнить компоненту Связанная таблица ’значениями по умолчанию’из базы данных при открытии веб-страницы приложения. С помощью визуального конструктора запросов позволяет задать Граф сущностей, т.е. указать объекты базы данных и взаимосвязи между ними для получения и отображенияна веб-странице информации по умолчанию, но не ее сохранения.
    Скрипт Скрипт автоматически выставляется по умолчанию, указывает платформе, что ‘значение по умолчанию’ для текущей компоненты следует получить из собственного запроса к базе данных
    Граф сущностей позволяет с помощью визуального конструктора сформировать набор объектов базы данных, указать взаимосвязи между ними и\или дополнительные условия, тем самым подготовить запрос в базу данных. При подгрузке данных сформированный запрос отрабатывает как Select-запрос. +
      +
    1. Переносим манипулятором Мышь ‘таблицу с доступными записями’ в поле структуры сущности
    2. +
    3. Переименовываем (не обязательно, но для понимания) в сущность с именем default_for_mtm
    4. +
    5. В настройках фильтрации сущности default_for_mtm формируем условие, ограничивающее то количество предустановленных записей, которое мы хотим увидеть в ‘значениях, подгруженных по умолчанию’. В примере на скриншоте ограничение наложено на поле с первичным ключом ID (для очевидности), а в реальной жизни, как правило, ограничения накладываются, исходя из сопоставления значений переменной процесса и одной из колонок.Таким образом, из всех доступных записей в таблице сотрудников, система отберет в качестве ‘значений по умолчанию’ только те записи, id которых меньше числа 20.
    Первичный ключ таблицы доступных значений Позволяет указать таблицу доступных записей (справочник) и её колонку с первичным ключом, по которым будут отобраны записи, удовлетворяющие условию в структуре сущности для предзаполнения по ним ‘значений по умолчанию’ таблицы выбранных записей
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Значение_по_умолчанию_Пополняемый_список_зависимых_записей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Значение_по_умолчанию_Пополняемый_список_зависимых_записей.html new file mode 100644 index 0000000..0ce0544 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Значение_по_умолчанию_Пополняемый_список_зависимых_записей.html @@ -0,0 +1,83 @@ + + + + + + + + Web-BPM Docs – Заполнить значением по умолчанию. Пополняемый список зависимых записей + + + + + + +
    +
    + + + +
    +
    +

    Заполнить значением по умолчанию. Пополняемый список зависимых записей

    +

    Назначение

    +

    Функция, которая позволяет настроить параметры и осуществить запрос данных для заполнения значениями по умолчанию полей компоненты Пополняемый список зависимых записей.

    +

    Функция Заполнить значением по умолчанию должна быть задействована и настроенана компоненте “Редактируемая таблица”, входящей в состав сложнойкомпоненты Пополняемый список зависимых записей. При этом, на вышележащей компоненте Форма скрипт Подгрузка значений по умолчанию должен быть активирован (но может быть не настроен).

    +

    Результатом исполнения функции Заполнить значением по умолчанию является одно или несколько значений, которыми предзаполняется компонента “Редактируемая таблица”, входящая в состав сложной компоненты Пополняемый список зависимых записей, и отображающая список тех строк, которыми будет пополнена связанная с основной таблицей компоненты Форма таблица.

    +

    В этом основное отличие этой функции от аналогичной функции, используемой для запроса ‘значений по умолчанию’ обычных визуальных компонентов, но оперирующей только одним значением.

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Тип подгрузки единственное возможное значение, выставляется по умолчанию. Описывает запрос к базе данных, результаты которого позволяют наполнить компоненту Редактируемая таблица ’значениями по умолчанию’из базы данных при открытии веб-страницы приложения. С помощью визуального конструктора запросов позволяет задать Граф сущностей т.е. указать объекты базы данных и взаимосвязи между ними для получения и отображенияна веб-странице информации по умолчанию но не ее сохранения
    Скрипт Скрипт автоматически выставляется по умолчанию, указывает платформе, что ‘значение по умолчанию’ для текущей компоненты следует получить из собственного запроса к базе данных
    Граф сущностей позволяет с помощью визуального конструктора сформировать набор объектов базы данных, указать взаимосвязи между ними и\или дополнительные условия, тем самым подготовить запрос в базу данных. При подгрузке данных сформированный запрос отрабатывает как Select-запрос. +
      +
    1. Переносим манипулятором Мышь таблицу, которая предоставит строки для подгрузки ‘значений по умолчанию’ в поле графа сущности.
    2. +
    3. Переименовываем (не обязательно, но для понимания) в сущность с именем test_default_eotm. Наименование сущности в этом пункте должно строго соответствовать наименованию этой же сущности в графе сущности функции Подгрузка данных компоненты “Редактируемая таблица”;, входящей в состав сложной компоненты Пополняемый список зависимых записей
    4. +
    5. В настройках фильтрации сущности test_default_eotm формируем условие, ограничивающее то количество выбираемых из сущности записей, которое мы хотим увидеть в ‘значениях, подгруженных по умолчанию’. В примере на скриншоте ограничение наложено на поле с первичным ключом ID (для очевидности), а в реальной жизни, как правило, ограничения накладываются, исходя из сопоставления значений переменной процесса и одной из колонок. Таким образом, из всех возможных записей в сущности test_default_eotm, система отберет в качестве ‘значений по умолчанию’ только те записи, id которых меньше числа 5.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Как-добавить-шрифты-в-модуль-печати-JasperReports.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Как-добавить-шрифты-в-модуль-печати-JasperReports.html new file mode 100644 index 0000000..1afaaaa --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Как-добавить-шрифты-в-модуль-печати-JasperReports.html @@ -0,0 +1,56 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    +

    Если при разработке шаблона использовались шрифты, которых нет в ОС сервера приложений, то при формировании печатной формы будет возникать ошибка. Чтобы этого избежать необходимо выполнить шаги:

    +
      + +
    1. Экспортировать шрифт по инструкции. На выходе будет файл с расширением jar.
    2. +
    3. Скопировать полученный файл в папку проекта: $project\extensions\jasper-fonts\src\main\resources\font\.
    4. +
    5. Собрать и запустить приложение.
    6. +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Настройка_Графа_сущностей.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Настройка_Графа_сущностей.html new file mode 100644 index 0000000..244d9c0 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Настройка_Графа_сущностей.html @@ -0,0 +1,144 @@ + + + + + + + + Web-BPM Docs – Настройка Графа сущностей + + + + + + +
    +
    + + + +
    +
    +

    Настройка Графа сущностей

    +

    Назначение

    +

    Граф сущностей - это визуальный конструктор запросов, с помощью которого бизнес-аналитик имеет возможность указать объекты базы данных, условия и взаимосвязи между ними для получения и отображения информации на странице пользовательского приложения, и/или её сохранения.

    +

    В качестве сущностей, заданных в графе, могут выступать таблицы и представления (view) базы данных. Важно отметить, что понятие сущности не равно понятию таблицы, поскольку одна таблица может быть добавлена в граф сущностей несколько раз.

    +

    Необходимость настройки Графа сущностей возникает при использовании компонент, логика работы которых предусматривает формирование источника данных в виде SQL-запроса, например, Таблица, Форма и другие.

    +

    В зависимости от используемой компоненты и логики её работы, Граф сущностей использует три типа оператора SQL-запросов к базе данных:

    +
      + +
    • SELECT- оператор запроса,который возвращает набор данных (выборку) из базы данных;
    • +
    • INSERT- оператор запроса, который осуществляет добавление новых записей в таблицу базы данных;
    • +
    • UPDATE- оператор запроса, который изменяет имеющиеся данные в таблице базы данных
    • +
    +

    Свойства

    +

    Для того, чтобы перейти к заполнению Графа сущностей настраиваемой компоненты, необходимо во встроенных функциях элемента перейти к разделу Подгрузка данных - Источник данных - Граф сущностей и нажать на кнопку (три точки). По нажатию на кнопку отобразится окно Редактор структуры сущностей, в котором происходит дальнейшее добавление необходимых объектов базы данных (таблиц или представлений) с соответствующими связями.

    +

    Редактор структуры сущностей включает в себя следующие области:

    +
      + +
    • Дерево БД (базы данных), где отображаются выбранные при сохранении БД схемы вместе с объектами (таблицы и представления)
    • +
    • Поиск, с помощью которого можно найти таблицу БД по её названию; по мере ввода символов будет отображаться список таблиц, содержащих в названии набранные символы (рис.4)
    • +
    +

    +

    рис.3 Редактор структуры сущностей

    +

    +

    рис.4 Область поиска

    +
      + +
    • + +

      вкладка Структура, которая в зависимости от решаемой задачи позволяет задать условия или группу условий , по которому(ым) будут ограничиваться (фильтроваться) подгружаемые данные по Графу сущностей. Для фильтрации записей больше, чем по одному условию используются операторы:

      +
        + +
      • AND - оператор, который отображает только те записи, когда первое и второе условие является истина/true;
      • +
      • OR- оператор, который отображает только те записи, когда хотя бы одно из двух или каждое из условий является истина/true;
      • +
      • AND_NOT - оператор, который отображает только те записи, когда хотя бы одно из условий является ложью/false;
      • +
      • OR_NOT - оператор, который отображает только те записи, когда все из условий являются ложью/false.
      • +
      +

      При добавлении условия (фильтра), значение из колонки таблицы или представления можно приравнять к четырем типам значений: Переменная процесса, Константа, Переменная времени выполнения, Другая колонка. В случае использования Переменной процесса, значение, к которому приравниваются данные из указанной колонки, могут динамически изменяться, в зависимости от того, какое значение содержится в переменной процесса в конкретный момент времени (рис.4). Применение заданного условия (фильтра), в котором используется переменная процесса, можно ограничить указав: Игнорировать фильтр, если переменная не задана или Не игнорировать фильтр, если переменная не задана. При указании типа Другая колонка, значение указанное в колонке сравнивается со значением другой колонки идентичной таблицы. При указании типа Переменная времени выполнения, значение из выбранной колонки сравнивается с runtime переменными. При указании типа Константа, подгружаемые данные по Графу сущностей будут фильтроваться по заданному статичному значению (рис.5). На языке SQL-запросов заданное условие (рис.5) будет иметь вид: SELECT … FROM public. Конференции AS Конференции WHERE Конференции. Описание (description) = ‘RU’

      +

      +

      рис.4 Применение фильтра с использованием Переменной процесса

      +

      +

      рис.5 Применение фильтра с использованием Константы

      +
    • +
    • + +

      вкладка Элемент, становится активна после добавления и выбора объекта базы данных:таблицы или представления(рис.6). К нередактируемым свойствам элемента относится: Схема базы данных, к которой относится объект и название Таблицы в базе данных. К настраиваемым свойствам элемента относится:

      +
        + +
      • Имя сущности, которое будет отображаться в Редакторе структуры сущностей;
      • +
      • Главная сущность - в каждом Графе должна быть задана Главная сущность, с которой начинается подгрузка и сохранение данных на странице; Главная сущность в Графе выделена желтой рамкой, все последующие сущности имеют синюю рамку.
      • +
      • Действие при сохранении: Удалить (значение по умолчанию).
      • +
      • Сохранить - Удалить если все значения FK. Добавление и возможность настройки данного свойства было обусловлено тем, что в некоторых случаях, при сохранении в сущность (таблицу) приходят пустые данные. В зависимости от того, необходимо ли сохранять пустые данные в таблицу или необходимо удалять старую запись в таблице, если пришли пустые данные, выбирается один из трех доступных вариантов действий. Как и в случае со Структурой *всего Графа сущностей, к Элементу можно применить условия (фильтрацию) для подгрузки значения. После того, как условие будет задано, в редакторе сущностей элемент будет отображаться со знаком фильтра .
      • +
      +
    • +
    +

    Добавление связей сущностей

    +

    Граф сущностей позволяет добавить сразу несколько объектов базы данных (таблиц и представлений) с соответствующими связями между собой. Одновременное использование нескольких таблиц позволяет получить достаточный и необходимый объем информации для вывода из базы данных с помощью SQL-запроса, формируемого Графом сущностей и отображения пользователю на странице с помощью компонент, например, Таблица, Форма и другие. Добавление связей возможно между объектами базы данных, которые либо явно ссылаются друг на друга по ключу, либо связь подразумевается, но внешними ключами не оформлена.

    +

    Для того, чтобы указать связь между сущностями (объектами базы данных) в Редакторе структуры сущностей, необходимо добавить элементы (таблицы или представления базы данных) и от таблицы, которая будет ссылаться на другую таблицу протянуть стрелку, нажав на указатель . Направление стрелки должно быть определено от вторичного ключа к первичному ключу. После добавления связи, необходимо выделить элемент и указать колонки, по которым будут связаны сущностиво вкладке Элемент: Исходящая колонка и Входящая колонка.

    +

    На языке SQL-запросов заданная связь (рис.8) будет иметь вид: LEFT OUTER JOIN public. Конференции AS Конференции ON Список сотрудников.employee_id = Конференции.updated_employee_id

    +

    При настройке и выборе элемента связи сущностей (стрелки ) становится активна вкладка Элемент, где помимо указания колонок связи сущностей (Исходящая и Входящая колонка), есть возможность задать следующие свойства (рис.9):

    +
      + +
    • Связь обязательна означает, что при построении SQL-запроса к базе данных по данной связи будет использоваться оператор INNER JOIN, который возвращает только совпадающие данные из двух объединяемых таблиц. В случае, когда обязательность связи не проставлена, используется оператор LEFT OUTER JOIN, который возвращаетвсе строки из внешней левой таблицы, даже если в правой таблице нет совпадений.
    • +
    • Связь только для сохранения означает, что связь будет использована только для сохранения данных, при подгрузке данных она будет игнорироваться. В случае выбора данного свойства, в Редакторе структуры сущностей стрелка,связывающая объекты, принимает вид
    • +
    • Условие или Группа условий - как и в случае с общей Структурой Графа сущностей и отдельной сущности, имеется возможность добавить к связи условия (фильтры), ограничивающие значения подгружаемых данных.После того, как условие будет задано, вредакторе сущностей элемент стрелка будет отображаться со знаком фильтра(рис.10).
    • +
    +

    На языке SQL-запросов заданное условие (рис.10) будет иметь вид: LEFT OUTER JOIN public. Конференции AS Конференции ON Список сотрудников.employee_id=Конференции.updated_employee_id AND Список сотрудников.legal_entity_id IS NOT NULL

    +

    +

    рис.8 Добавление связи между сущностями

    +

    +

    рис.9 Свойства элемента связи (стрелки)

    +

    +

    рис.10 Применение условия к элементу связи

    +

    Часто задаваемые вопросы

    + + + + + + + + + + + + + + + + + + + + + +
    Вопрос Ответ
    Чем отличается условие заданное через вкладку Структура на весь Граф сущностей и условие заданное на конкретную сущность во вкладке Элемент Заданные условия ничем не отличаются между собой, допустимо использование обоих вариантов указания условий, результат выполнения их будет одинаков.
    После сохранения Графа сущностей, одна из заданных в нём таблиц была удалена или переименована в базе данных. Как это повлияет на структуру сущностей? В данном случае, при открытии Редактора структуры сущностей будет выведено окно с предупреждением. Граф сущностей необходимо будет перерисовать в соответствии с новой структурой базы данных.
    В сохраненную базу данных была добавлена новая таблица, но она не отображается в Дереве БД Редактора структуры сущностей? После внесения изменений в структуру базы данных (новая таблица или представление, новая колонка в таблице) необходимо во вкладке База данных нажать на кнопку Обновить, дождаться завершения обновления, после чего внесенные изменения должны будут отобразиться.
    Для чего необходима Главная сущность? Для компонент, требующих задания структуры сущностей, в Графе сущностей обязательно должна быть выделена Главная сущность, с которой начинаетсяподгрузка и сохранение данных на странице. Например, при работе с Таблицейи привязанной к ней Кнопкой выбора записи, запоминается идентификатор записи Главной сущности.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Общие-стили.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Общие-стили.html new file mode 100644 index 0000000..30aeb0f --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Общие-стили.html @@ -0,0 +1,65 @@ + + + + + + + + Web-BPM Docs – + + + + + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + +
    Название класса css Описание
    pull-right прижать объект к правому краю (если что-то съехало относительно данного объекта, положите его в дополнительный контейнер)
    align-center выравнивание объекта по центру по горизонтали (если что-то съехало относительно данного объекта, положите его в дополнительный контейнер)
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Общие_свойства_компонент.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Общие_свойства_компонент.html new file mode 100644 index 0000000..67e40dd --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Общие_свойства_компонент.html @@ -0,0 +1,177 @@ + + + + + + + + Web-BPM Docs – Общие свойства компонент + + + + + + +
    +
    + + + +
    +
    +

    Общие свойства компонент

    +

    Подраздел основных параметров: Расширенные настройки

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +

    +
    +
    + +
      + +
    • внутренний отступ (необходимо указывать единицы измерения)
    • + +
    • внешний отступ (необходимо указывать единицы измерения)
    • + +
    • граница (необходимо указывать единицы измерения)
    • + +
    • stretch: позволяет управлять возможностью автоматического расширения (растягивания) элемента на свободную область
    • +
    + +

    - значение не определено - по умолчанию

    + +

    - элемент будет автоматически занимать всю доступную область

    + +

    - элемент не будет автоматическизанимать всю доступную область

    + +
      + +
    • высота (необходимо указывать единицы измерения, например, 20px): позволяет указать высоту элемента
    • + +
    • ширина (необходимо указывать единицы измерения, например, 40px) : позволяет указать ширину элемента
    • + +
    • минимальная высота (необходимо указывать единицы измерения, например, 20px): позволяет указать минимальную высоту элемента
    • + +
    • минимальная ширина (необходимо указывать единицы измерения, например, 40px) : позволяет указать минимальную ширину элемента
    • + +
    • максимальная высота (необходимо указывать единицы измерения, например, 20px): позволяет указать максимальную высоту элемента
    • + +
    • максимальная ширина (необходимо указывать единицы измерения, например, 40px) : позволяет указать максимальную ширину элемента
    • +
    +

    +
    +
    + +

    +
    +

    позволяет указать список CSS-классов, которые необходимо применить к элементу

    +
    + +

    по умолчанию в ряде компонент указан CSS-класс long-value-input

    + +

    + +

    Данный CSS-класспозволяет сокращать отображаемое значение в поле тремя точками, если значение не умещается по ширине поля:

    + +


    +

    + +

    Если удалить данный CSS-класс в стилях элемента, то отображение значения, не соответствующего ширине поля, имеет следующий вид:

    +
    +
    + +

    +
    позволяет наследовать (или игнорировать наследование) свойства видимости, доступности, обязательности и возможности сохранения от компоненты-контейнера, внутри которого расположен элемент (родителя) +
    + +

    - значение не определено - по умолчанию

    + +

    - наследовать свойства от компоненты-контейнера, внутри которого расположен элемент

    + +

    - не наследовать свойства от компоненты-контейнера, внутри которого расположен элемент

    + +

    например, если перевестив состояниезначение данного свойства у элемента, находящегосявнутри контейнера, у которого включено свойство Недоступно для управления, то поле проигнорирует это свойство от родителя и будет доступно для управления на странице.

    +
    +
    + +
    +
    +

    Attachments:

    +
    + + +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_права_текущего_пользователя.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_права_текущего_пользователя.html new file mode 100644 index 0000000..6b7353d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_права_текущего_пользователя.html @@ -0,0 +1,57 @@ + + + + + + + + Web-BPM Docs – Определить права текущего пользователя + + + + + + +
    +
    + + + +
    +
    +

    Определить права текущего пользователя

    +

    Функция, которая не имеет настраиваемых аналитиком параметров, но будучи задействованной, позволяет проверить наличие интересующих прав (меток безопасности) у текущего пользователя при выполнении приложения.

    +

    Она относится к той группе функций, чья функциональность применяется и может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется несколько новых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ данные загружены на форму И (текущий пользователь имеет права (метку безопасности) “WRITE” ИЛИ текущий пользователь имеет права (метку безопасности) “LIST”) ТО кнопку “Сохранить” сделать видимой идоступной для нажатия’

    +

    +

    Рис.1 Активация функции

    +

    +

    Рис.2 Использование функции в компоненте Обработка Событий (появился новый метод “Обладает правами” у компоненты Форма).

    +

    Наименования прав (меток безопасности) в условиях сравнения в компоненте Обработка событий должны соответствовать меткам безопасности, существующим в платформе и отслеживаемым с использованием Инструмента администрирования платформы.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_роли_текущего_пользователя.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_роли_текущего_пользователя.html new file mode 100644 index 0000000..42d6e37 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_роли_текущего_пользователя.html @@ -0,0 +1,57 @@ + + + + + + + + Web-BPM Docs – Определить роли текущего пользователя + + + + + + +
    +
    + + + +
    +
    +

    Определить роли текущего пользователя

    +

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

    +

    Она относится к той группе функций, чья функциональность применяется и может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется несколько новых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ данные загружены на форму И (текущий пользователь имеет роль “Администратор” ИЛИ текущий пользователь имеет роль “Руководитель”) ТО кнопку “Сохранить” сделать видимой идоступной для нажатия’

    +

    +

    Рис.1 Активация функции

    +

    +

    Рис.2 Использование функции в компоненте Обработка Событий (появился новый метод “Обладает ролью” у компоненты Форма)

    +

    Наименования ролей в условиях сравнения в компоненте Обработка событий должны соответствовать ролям, существующим в платформе и созданным с использованием Инструмента администрирования платформы.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_текущую_дату_и_сместить_её_вперед_или_назад_на_заданный_период.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_текущую_дату_и_сместить_её_вперед_или_назад_на_заданный_период.html new file mode 100644 index 0000000..8e8ae10 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Определить_текущую_дату_и_сместить_её_вперед_или_назад_на_заданный_период.html @@ -0,0 +1,104 @@ + + + + + + + + Web-BPM Docs – Определить текущую дату и сместить её вперед или назад на заданный период + + + + + + +
    +
    + + + +
    +
    +

    Определить текущую дату и сместить её вперед или назад на заданный период

    +

    Функция, которая в режиме исполнения приложения (runtime mode) определяет текущую дату хоста, на котором работает браузер пользователя, и выставляет ее значением для компоненты Дата. При соответствующих настройках, может на лету сдвигать текущую дату на указанный период (год, месяц, день) в будущее или прошлое и отображать в компоненте Дата уже не текущую дату, а дату, передвинутую на указанный период. Используется для выставления в полях экранного интерфейса значения текущей даты по умолчанию, либо сдвига даты на заранее известный период времени (например, дату открытия наследства). Может быть активирована только на компоненте Дата.

    +

    Особенности функции:

    +
      + +
    • в запущенном приложении исполняется явно (не требует использования компоненты “Обработка событий” и формирования алгоритма работы с задействованием вновь предоставлямых методов)
    • +
    • записывает текущую (или дату со сдвигом) в тот компонент Дата, в котором функция активирована
    • +
    • имеет параметры для настройки аналитиком
    • +
    +

    Рис. 1 Внешний вид активированной функции

    +

    Параметры функции (табл.1)

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Пример заполнения
    Количество лет, необязательный позволяет указать количество лет, на которые нужно сдвинуть текущую дату
    Количество месяцев, необязательный позволяет указать количество месяцев, на которые нужно сдвинуть текущую дату
    Количество дней, необязательный позволяет указать количество дней, на которые нужно сдвинуть текущую дату
    В будущее, необязательный позволяет указать направление сдвига заданного периода - в будущее или в прошлое +
      +
    • значение не определено - текущую дату никуда не сдвигать - по умолчанию
    • +
    • Активно - сдвинуть текущую дату на указанный период в будущее
    • +
    • Не активно - сдвинуть текущую дату на указанный период в прошлое
    +

    Пример настройки и применения

    +

    +

    Рис.1 Активация функции на компоненте Дата без сдвига на период

    +

    +

    Рис.2 Активация функции на компоненте Дата со сдвигом на период в прошлое

    +

    Рис.3 Активация функции на компоненте Дата со сдвигом на период в будущее

    +

    Результат работы функции с разными параметрами настройки

    +

    +

    Рис. 4 Открытие web - страницы работающего приложения с полем Дата мероприятия без сдвига

    +

    +

    Рис. 5 Открытие web - страницы работающего приложения с полем Дата мероприятия со сдвигом в прошлое

    +

    +

    Рис. 6 Открытие web - страницы работающего приложения с полем Дата мероприятия со сдвигом в будущее

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Подгрузка_данных.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Подгрузка_данных.html new file mode 100644 index 0000000..cd82533 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Подгрузка_данных.html @@ -0,0 +1,105 @@ + + + + + + + + Web-BPM Docs – Подгрузка данных + + + + + + +
    +
    + + + +
    +
    +

    Подгрузка данных

    +

    Назначение

    +

    Функция, которая исполняет сформированный пользователем визуально или явно SQL-запрос на базе данных для одной из операций: INSERT, UPDATE, SELECT. Является строго обязательным для настройки. Попытка сборки и запуска системы в несконфигурированномсостоянии функции приводит к ошибке.

    +

    Вид операции определяется либо инициализацией (открытием) самой web-страницы - тогда выполняется SELECT, либо событием управляющего воздействия пользователя на web-страницу (напр, нажатие кнопки “Сохранение”) - тогда выполняется INSERT или UPDATE.

    +

    Выполнение операции INSERT или UPDATE зависит от значения Переменной процесса с идентификатором: если переменная пуста, то выполняетсяINSERT - запрос, если содержит значение, то выполняется UPDATE - запрос.

    +

    Результатом воздействия запроса любого типа должна служить толькоединственная запись смысловой сущности создаваемого интерфейса (не касается связанных и\или линковых таблиц), в противном случае функция генерирует ошибку и не исполняется.

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование параметра Обязательность Назначение параметра Принимаемые значения
    Скрипт Обязательный позволяет указать один из вариантов реализации скрипта +
      +
    • FormServiceImpl - значение, выставляемое платформой по умолчанию. Обеспечивает сохранение и считывание значения любого визуального компонента, входящего в компоненту Форма, в/из базы данных.
    • +
    • VariableFormService - обеспечивает считывание и/или сохранение значения любого визуального компонента, входящего в компоненту Форма, только из/в переменную процесса (не из/в базу данных).
    Переменная процесса с идентификатором Обязательный позволяет выбрать из списка переменную процесса, содержащую в себе идентификатор смысловой единицы, которой посвящена компонента Форма (и web-страница приложения) Список формируется автоматически из всех переменных используемых в BPMN-процессе. Является ограничивающим значением запроса (в секции WHERE primary_id = ), построенного в визуальном конструкторе параметра Граф сущностей. Благодаря этому ограничению компонента Форма как источник данных выбирает атрибуты единственной смысловой сущности создаваемого интерфейса. Указанная переменная процесса может не содержать значения, и это означает, что web - страница открыта для создания новой записи в базе данных и после нажатия на кнопку сохранения будет выполнен оператор INSERT. Указанная переменная процесса может содержать значение идентификатора, и это означает, что web - страница открыта для отображения текущих атрибутов одной существующей записи, в нее могут быть внесены изменения, и после нажатия на кнопку сохранения будет выполнен оператор UPDATE.
    Источник данных. Скрипт Обязательный позволяет выбрать способ построения запроса - либо визуальный конструктор, либо кастомный SQL запрос +
      +
    • FormDaoImpl - Запрос формируется визуальным конструктором, значение по умолчанию
    • +
    • CustomSqlFormDao - запрос может быть сформирован вручную в отдельном окне
    • +
    • EditableOneToManyDaoImpl
    Граф сущностей Обязательный позволяет с помощью визуального конструктора сформировать набор объектов базы данных, указать взаимосвязи между ними и\или дополнительные условия, тем самым подготовить запрос в базу данных. При подгрузке данных сформированный запрос отрабатывает как Select-запрос, при сохранении новой информации как Insert-запрос, при внесении изменений как Update-запрос.
    Скрипты валидации формы Не обязательный Сценарии проверки валидности данных на форме, которые выполняются при сохранении формы (например, проверка уникальности сохраняемой улицы (что в базе ее действительно пока еще нет, или проверка правильности соотнесения значений сразу нескольких полей и т.п.).Если валидация не прошла, то выдается ошибка и сохранение формы прекращается. В базовой конфигурации сценарии не поставляются, они создаются дополнительно разработчиками под конкретные запросы пользователей. После подготовки программного кода такого скрипта и интеграции в платформу, его можно выбрать в этом пункте настроек по имени из выпадающего списка.
    Скрипты, выполняемые после сохранения формы Не обязательный Вызов обработчиков после сохранения данных. В качестве обработчиков могут выступать сценарии манипулирования данными на языке SQL с входными и выходными параметрами.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Подгрузка_данных_по_умолчанию.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Подгрузка_данных_по_умолчанию.html new file mode 100644 index 0000000..e06782c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Подгрузка_данных_по_умолчанию.html @@ -0,0 +1,105 @@ + + + + + + + + Web-BPM Docs – Подгрузка данных по умолчанию + + + + + + +
    +
    + + + +
    +
    +

    Подгрузка данных по умолчанию

    +

    Назначение

    +

    Функция, которая может быть активирована на любой компоненте-контейнере (как правило, на компоненте Форма), и которая исполняет сформированный пользователем визуально SQL-SELECT запрос на базе данных. Полученные в результате исполнения запроса значения могут быть переданы в дочерние визуальные компоненты текущего контейнера для заполнения этих визуальных компонентов значениями по умолчанию. Результатом запроса должна служить толькоединственная запись смысловой единицы создаваемого интерфейса , в противном случае скрипт генерирует ошибку и не исполняется.

    +

    Функция не является обязательной для настройки, но должна присутствовать на компонентах - контейнерах в любом случае (совсем удалять функцию с компоненты нельзя). Функция активирована по умолчанию на компонентах-контейнерах Форма и Набор фильтров.

    +

    Для остальных компонент - контейнеров требует активации вручную при необходимости. Активация происходит выставлением флажка рядом с наименованием функции:

    +

    - активированное состояние функции

    +

    - не активированное состояние функции

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование параметра Назначение параметра Принимаемые значения
    Скрипт Единственный возможный вариант, выставлен по умолчанию
    Источник данных. Скрипт предписывает использовать визуальный конструктор для построения запроса DefaultLoadDao - Запрос формируется визуальным конструктором.
    Граф сущностей Граф сущностей позволяет с помощью визуального конструктора сформировать набор объектов базы данных, указать взаимосвязи между ними и\или дополнительные условия, тем самым подготовить запрос в базу данных. При подгрузке данных сформированный запрос отрабатывает как Select-запрос.
    Переменная процесса с идентификатором позволяет выбрать из списка переменную процесса, содержащую в себе идентификатор смысловой единицы, для которой подгружаются ‘значения по умолчанию’ на web-странице приложения. Список формируется автоматически из всех переменных, используемых в BPMN-процессе. Является ограничивающим значением запроса (в секции WHERE primary_id = ), построенного в визуальном конструкторе параметра Граф сущностей. Благодаря этому ограничению источник данных выбирает атрибуты единственной смысловой единицы создаваемого интерфейса. указанная переменная процесса может не содержать в себе значения, и это означает, что никаких значений по умолчанию подгружено не будет.
    uniqueResult позволяет при выполнении запроса исключить повторяющиеся строки из результата.
    +

    Если одна компонента-контейнер вложена в другую (например, в компоненту Форма вложена компонента Горизонтальный контейнер, а в нее - Вертикальный контейнер), то следует учитывать особенности взаимодействия функций Подгрузка данных по умолчанию из компонент-контейнеров разных уровней:

    + + + + + + + + + + + + + + +
    Компонента ‘Форма 1’ - родительский контейнер Компонента ‘Горизонтальный контейнер ( а )’ является дочерней для компоненты ‘Форма 1’. Компонента ‘Вертикальный контейнер ( I )’ является дочерней для компоненты ‘Горизонтальный контейнер ( а )’.
    В нем активирована функция Подгрузка данных по умолчанию. Внутри расположен Горизонтальный контейнер и на одном уровне с ним - визуальные компоненты. Компоненты ‘Текстовое поле 1’ и ‘Числовое поле 1’, расположенные внутри компоненты ‘Форма 1’, могут получать ‘значения по умолчанию’ только из таблиц и колонок структуры сущности, заданной в функции Подгрузка данных по умолчанию компоненты ‘Форма 1’ Компонента ‘Горизонтальный контейнер ( а )’ является дочерней для компоненты ‘Форма 1’. В компоненте ‘Горизонтальный контейнер ( а )’ не активирована функция Подгрузка данных по умолчанию, но в родительской компоненте ‘Форма 1’ одноименная функция активирована. Внутри компоненты ‘Горизонтальный контейнер ( а )’ расположен Вертикальный контейнер и на одном уровне с ним - визуальные компоненты. Компоненты ‘Дата ( а )’ и ‘Статичный выпадающий список ( а )’, расположенные внутри компоненты ‘Горизонтальный контейнер ( а )’, могут получать ‘значения по умолчанию’ только из таблиц и колонок структуры сущности, заданной в функции Подгрузка данных по умолчанию компоненты ‘Форма 1’, поскольку у их прямого родительского компонента ‘Горизонтальный контейнер ( а )’ эта функция не активирована, но зато они являются наследниками компоненты-контейнера ‘Форма 1’. Таким образом, визуальные компоненты игнорируют те уровни, на которых функция не активирована и тянуться вверх по дереву до того уровня, пока не найдут первую настроенную и активированную функцию Подгрузка данных по умолчанию. Компонента ‘Вертикальный контейнер ( I )’ является дочерней для компоненты ‘Горизонтальный контейнер ( а )’. В компоненте ‘Вертикальный контейнер ( I )’ активирована функция Подгрузка данных по умолчанию. Внутри компоненты ‘Вертикальный контейнер ( I )’ расположены только визуальные компоненты. Компоненты ‘ФИАС ( I )’ и ‘Поле многострочного ввода ( I )’, расположенные внутри компоненты Вертикальный контейнер ( I )’, могут получать ‘значения по умолчанию’ только из таблиц и колонок структуры сущности, заданной в функции Подгрузка данных по умолчанию компоненты ‘Вертикальный контейнер ( I )’
    +

    Функция Подгрузка данных по умолчанию позволяет только сформировать и исполнить запрос для получения определенных сведений из базы данных, последующее указание аналитика платформе на то, каким значением из какой таблицы и какой визуальный компонент следует заполнить происходит в настройках функции Заполнить значением по умолчаниюлюбого визуального компонента (параметр Тип подгрузки - > Из колонки)

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Преобразование_текущей_даты.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Преобразование_текущей_даты.html new file mode 100644 index 0000000..753f8f2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Преобразование_текущей_даты.html @@ -0,0 +1,104 @@ + + + + + + + + Web-BPM Docs – Определить текущую дату и сместить её вперед или назад на заданный период + + + + + + +
    +
    + + + +
    +
    +

    Определить текущую дату и сместить её вперед или назад на заданный период

    +

    Функция, которая в режиме исполнения приложения (runtime mode) определяет текущую дату хоста, на котором работает браузер пользователя, и выставляет ее значением для компоненты Дата. При соответствующих настройках, может на лету сдвигать текущую дату на указанный период (год, месяц, день) в будущее или прошлое и отображать в компоненте Дата уже не текущую дату, а дату, передвинутую на указанный период. Используется для выставления в полях экранного интерфейса значения текущей даты по умолчанию, либо сдвига даты на заранее известный период времени (например, дату открытия наследства). Может быть активирована только на компоненте Дата.

    +

    Особенности функции:

    +
      + +
    • в запущенном приложении исполняется явно (не требует использования компоненты “Обработка событий” и формирования алгоритма работы с задействованием вновь предоставлямых методов)
    • +
    • записывает текущую (или дату со сдвигом) в тот компонент Дата, в котором функция активирована
    • +
    • имеет параметры для настройки аналитиком
    • +
    +

    Рис. 1 Внешний вид активированной функции

    +

    Параметры функции (табл.1)

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Пример заполнения
    Количество лет, необязательный позволяет указать количество лет, на которые нужно сдвинуть текущую дату
    Количество месяцев, необязательный позволяет указать количество месяцев, на которые нужно сдвинуть текущую дату
    Количество дней, необязательный позволяет указать количество дней, на которые нужно сдвинуть текущую дату
    В будущее, необязательный позволяет указать направление сдвига заданного периода - в будущее или в прошлое +
      +
    • значение не определено - текущую дату никуда не сдвигать - по умолчанию
    • +
    • Активно - сдвинуть текущую дату на указанный период в будущее
    • +
    • Не активно - сдвинуть текущую дату на указанный период в прошлое
    +

    Пример настройки и применения

    +

    +

    Рис.1 Активация функции на компоненте Дата без сдвига на период

    +

    +

    Рис.2 Активация функции на компоненте Дата со сдвигом на период в прошлое

    +

    Рис.3 Активация функции на компоненте Дата со сдвигом на период в будущее

    +

    Результат работы функции с разными параметрами настройки

    +

    +

    Рис. 4 Открытие web - страницы работающего приложения с полем Дата мероприятия без сдвига

    +

    +

    Рис. 5 Открытие web - страницы работающего приложения с полем Дата мероприятия со сдвигом в прошлое

    +

    +

    Рис. 6 Открытие web - страницы работающего приложения с полем Дата мероприятия со сдвигом в будущее

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Преобразовать_в_колонки_со_значениями-переходами.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Преобразовать_в_колонки_со_значениями-переходами.html new file mode 100644 index 0000000..6da7a83 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Преобразовать_в_колонки_со_значениями-переходами.html @@ -0,0 +1,96 @@ + + + + + + + + Web-BPM Docs – Преобразовать в колонки со значениями-переходами + + + + + + +
    +
    + + + +
    +
    +

    Преобразовать в колонки со значениями-переходами

    +

    Назначение

    +
    + +

    Внимание: данный скрипт помечен как устаревший. Вместо него необходимо использовать либо NavigateOnGridCellOrRow (для всех таблиц, в т.ч. GridV2), либо ColumnNavigationRenderer (для таблиц GridV2, настройка без индексов).

    +
    +

    Функцию Преобразовать в колонки со значениями-переходами допустимо использовать при настройке компоненты Таблица (по кнопке Добавить функцию) и расширяет её базовые возможности. Добавление данного функционала в настройку компоненты Таблицы (рис.1) позволяет отображать значение в конкретной колонке (указанной в настройке функции) в виде гиперссылки, по нажатию на которую на странице приложения возможен следующий переходпо процессу (например, открытие страницы) по определённому значению переменной навигации.

    +

    +

    рис.1 Добавление функции Преобразовать в колонки со значениями-переходами

    +

    Настройка

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Сохранить идентификатор позволяет указать переменную процесса, в которую система сохранит идентификатор строки (значение идентификатора главной сущности в Графе сущностей компоненты Таблицы либо идентификатор из конкретной колонки)
    Значение для навигации позволяет задать значение, которое будет записано в переменную навигации данного процесса (по данному значению будет осуществляться переход при нажатие на колонку-гиперссылку)
    Переходить собственному позволяет указать колонку, значение из которой будет записано в переменную процесса, указанную в свойстве Сохранить идентификатор строки в Активно - будет взято значение самого идентификатора строки(значение идентификатора главной сущности в Графе сущностей компоненты). Не активно - позволяет указать порядковый номер колонки, содержащую в себе значение идентификатора, которое необходимо сохранить в переменную процесса
    Номер колонки позволяет указать номер колонки (в порядке следования в таблице), которая будет преобразована колонку перехода пример возможного значения: 3
    Номер колонки из которого позволяет указать номер колонки (в порядке следования в таблице) значение из которой будет взято для сохранения в переменную процесса, указанную в свойстве Сохранить идентификатор строки в (доступно для настройки при значении свойстваПереходить по собственному идентификатору) пример возможного значения: 6
    +

    Пример настройки

    +

    В настройке функции Преобразовать в колонки со значениями-переходами (рис.1) в качестве колонки-перехода укажем значение колонки Неделя (порядковый номер - 3), которая на странице приложения отображается как ссылка (рис.2), по нажатию на которую будет происходить дальнейший переход по процессу. Свойства функции настроены в соответствии с необходимой логикой.

    +

    +

    рис.1 Пример настройки функции

    +

    +

    рис.2 Отображение колонки-перехода на странице приложения

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Склеить_несколько_значений.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Склеить_несколько_значений.html new file mode 100644 index 0000000..0c61b89 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Склеить_несколько_значений.html @@ -0,0 +1,112 @@ + + + + + + + + Web-BPM Docs – Склеить несколько значений + + + + + + +
    +
    + + + +
    +
    +

    Склеить несколько значений

    +

    Функция, которая принимает на вход массив значений из любых визуальных компонентов, конвертирует эти значения на лету в строковый тип и на выходе формирует в значении отдельного компонента цельную единую строку, являющуюся результатом конкатенации значений компонент, принятых на входе. Может быть активирована на компонентах, работающих со строковыми типами данных: Текстовое поле, Текст, Поле многострочного ввода.

    +

    В отличие от функции “Добавить строку к значению в текущем поле”:

    +
      + +
    • в запущенном приложении исполняется явно (не требует использования компоненты “Обработка событий” и формирования алгоритма работы с задействованием вновь предоставлямых методов)
    • +
    • работает с неограниченным количеством визуальных компонент
    • +
    • позволяет задавать префиксы и постфиксы для соединяемых значений
    • +
    • не перезаписываетновообразованной строкой ранее находившееся в одной из склеиваемых компонент значение
    • +
    • имеет параметры для настройки аналитиком
    • +
    • работает с любыми типами данных и при необходимости может служить сама по себе конвертером значений любых типов из других компонент в строковый тип данных
    • +
    +

    +

    Рис. 1 Внешний вид активированной функции

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Массив склеиваемых значений Позволяет сформировать список компонент на странице, значения которых будут участвовать в конкатенации. Каждый последующий элемент списка добавляется с помощью кнопки
    Элемент, обязательный позволяет настроить один из элементов списка
    Префикс, необязательный позволяет задать набор символов, которые будут добавлены в результирующую строку перед фактическим значением склеиваемой компоненты
    Значение, обязательный позволяет указать компонент, значение которого будет склеиваться функцией
    Постфикс, необязательный позволяет задать набор символов, которые будут добавлены в результирующую строку после фактического значения склеиваемой компоненты
    Склеивать значения через подстроку, обязательный позволяет задать набор символов, который будет разделять склеиваемые значения разных компонент Чаще всего заполняется пробелом
    +

    Пример настройки и применения

    +

    +

    Рис.2 Активация функции на компоненте Многострочный ввод текста.

    + +

    Заполнение параметров Значениев массиве склеиваемых значений происходит путем перетаскивания манипулятором мышь соответствующих компонентов из дерева структуры страницы в окно параметра Значение каждого из элементов массива склеиваемых значений (как показано стрелками на скриншоте).

    + +

    Также существует удобная функциональность обратного быстрого перехода по дереву структуры страницы к задействованной компоненте посредством клика на параметреЗначение, когда есть необходимость уточнить, на какую именно компоненту в дереве ссылается интересующий параметр.

    + +

    +

    Рис. 3 Открытие web - страницы работающего приложения в момент когда склеиваемые поля еще не заполнены

    +

    +

    Рис.4 Работа с web страницей. Часть склеиваемых полей уже заполнено, отработали префиксы и постфиксы из настроек

    +

    +

    Рис.5 Завершение работы с группой полей, участвующих в объединении значений. В итогом поле получили соединенный текст с учетом префиксов и постфиксов соединяемых значений

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сконвертировать_значение_в_целочисленный_тип.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сконвертировать_значение_в_целочисленный_тип.html new file mode 100644 index 0000000..0610a3d --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сконвертировать_значение_в_целочисленный_тип.html @@ -0,0 +1,65 @@ + + + + + + + + Web-BPM Docs – Сконвертировать значение в целочисленный тип + + + + + + +
    +
    + + + +
    +
    +

    Сконвертировать значение в целочисленный тип

    +

    Функция, которая не имеет настраиваемых аналитиком параметров, но будучи задействованной, позволяет осуществить преобразование значения в исходном компоненте из текущего типа (чаще всего, в компоненте Поле ввода с подбором значенияиз типа данных ANY) в целочисленный тип данных.

    +

    Она относится к той группе функций, чья функциональность применяется и может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется нескольконовых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ в компоненте Поле ввода с подбором значения выбрано(изменилось) значение, ТО в компоненту числовое поле вывести идентификатор(первичный ключ) этого значения’

    +

    +

    Рис.1 Активация функции на компоненте Поле ввода с подбором значения

    +

    +

    Рис.2 Числовое поле, в которое будем записывать идентификатор значения из компонента Поле ввода с подбором значения

    +

    +

    Рис. 3 Пример алгоритма заполнения числового поля идентификатором значения, выбранного в поле с Постановщиком задачи, при условии расширения функциональности исходной компоненты Поле ввода с подбором значения функцией “Сконвертировать значение в целочисленный тип” (появился новый метод “Сконвертировать в число” у исходной компоненты )

    +

    +

    Рис.4 Пример невозможности построения алгоритма из-за отсутствия необходимого метода “Сконвертировать в число”, вследствие удаления функции “Сконвертировать значение в целочисленный тип” из исходной компоненты Поле ввода с подбором значения “Постановщик задачи” (пропал метод “Сконвертировать в число” у исходной компоненты)

    +

    После запуска web-приложения (in runtime mode) выбираем в компоненте Список с поиском одно из значений (например, постановщика задачи с фамилией Дякин), после этого значение идентификатора (первичный ключ сотрудника по фамилии Дякин в справочнике) переносится в поле"Идентификатор постановщика", а в консоли браузера можно наблюдать сообщение о срабатывании компоненты Обработка событий, которое показывает выполненное функцией действие.

    +

    +

    Рис 5.Выбираем Постановщика задачи

    +

    +

    Рис.6 Функция заполняет числовое поле идентификатором

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сместить_дату_из_поля_на_период_вперед_или_назад.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сместить_дату_из_поля_на_период_вперед_или_назад.html new file mode 100644 index 0000000..a4517d3 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сместить_дату_из_поля_на_период_вперед_или_назад.html @@ -0,0 +1,97 @@ + + + + + + + + Web-BPM Docs – Сместить дату из поля на период вперед или назад + + + + + + +
    +
    + + + +
    +
    +

    Сместить дату из поля на период вперед или назад

    +

    Функция, которая в режиме исполнения приложения (runtime mode) может на лету считывать исходное значение даты из одной компоненты Дата и отображать в другой компоненте Дата исходное значение даты, смещенное на определенный период (или годы, или месяцы, или дни) в будущее или прошлое. Используется для выставления в полях экранного интерфейса значения даты со сдвигом на заранее заданный период времени. Может быть активирована только на компоненте Дата.

    +

    Она относится к той группе функций, чья функциональность применяется и может быть полезной не сразу после добавленияв исходную компоненту, а только при последующем использовании в компоненте “Обработка событий”, когда у исходной компоненты появляется нескольконовых доступных методов при конструировании алгоритма обработки событий на web-странице. Например, для такого паттерна обработки: ‘ЕСЛИ в исходном компоненте Дата выбрано(изменилось) значение, ТО в другую компоненту Дата вывести значение из исходного, но на заранее заданный период (или годы, или месяцы, или дни) в будущее или прошлое’.

    +

    Функция имеет параметры, позволяющие аналитику задать направление и величину сдвига во времени.

    +

    Параметры функции (табл.1)

    + + + + + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Величина периода, обязательный позволяет указать величину временных периодов, на которую будет смещена исходная дата Пример возможного занчения: 2
    Единица измерения периода, обязательный позволяет указать размерность временного периода, в которых измеряется сдвиг Дни, месяцы, годы
    +

    +

    Рис.1 Активация функции на поле “Исходная дата”

    +

    +

    Рис.2 Поле “Дата после применения функции”, в которое будем записывать значение исходной даты, сдвинутое на заданный промежуток времени - 2 года

    +

    +

    Рис. 3 Пример алгоритма заполнения поля “Дата после применения функции” значением поля “Исходная дата”, сдвинутым на 2 года в прошлое (появилось 2 новых метода “Сдвинуть на период в будущее”; и “Сдвинуть на период в прошлое” у компоненты Дата)

    +

    Для применения функции Сместить дату из поля на период вперед или назад следует использоваться связку методов компоненты Дата:

    +
      + +
    • + +

      Задать значение как дату для поля-приемника измененной даты

      +
    • +
    • + +

      Сдвинуть на период в прошлое (будущее) для источника исходной даты

      +
    • +
    +

    Использование в поле-приемнике похожего метода компоненты Дата “Задать значение” приведет к невозможности использования метода “Сдвинуть на период в прошлое (будущее)” для источника даты при формировании алгоритма обработки события.

    +

    После запуска web-приложения (in runtime mode) выбираем дату в компоненте Исходная Дата (например,01.03.2019), после этого значение даты в поле Дата после применения функции изменится на 01.03.2017 г., а в консоли браузера можно наблюдать сообщение о срабатывании компоненты Обработка событий, которое показывает выполненное функцией действие.

    +

    +

    Рис 5.Состояние интерфейса до изменения поля Исходная дата

    +

    +

    Рис.6 Функция заполняет поле Дата после применения функции

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сохранение_заголовка_выбранной_вкладки_в_переменную_процесса.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сохранение_заголовка_выбранной_вкладки_в_переменную_процесса.html new file mode 100644 index 0000000..0e3f116 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сохранение_заголовка_выбранной_вкладки_в_переменную_процесса.html @@ -0,0 +1,54 @@ + + + + + + + + Web-BPM Docs – Сохранение заголовка выбранной вкладки в переменную процесса + + + + + + +
    +
    + + + +
    +
    +

    Сохранение заголовка выбранной вкладки в переменную процесса

    +

    Используется для возврата на нужную вкладку после выхода с формы.

    +

    На TabContainer ts\custom\tab\TabContainerState.ts, java\custom\tab\TabContainerStateRpcService.java и внутрь последнего java\custom\tab\TabContainerStateVariableService.java

    +

    Далее нужно в TabContainerStateVariableService выбрать переменную процесса (тип - строка), в которую будет сохраняться заголовок выбранного таба.

    +

    Если после каких-то манипуляций не нужно восстанавливать открытый таб, то нужно использовать обработчик, очищающий переменную.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сохранить_значение_в_переменную_процесса.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сохранить_значение_в_переменную_процесса.html new file mode 100644 index 0000000..e779164 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Сохранить_значение_в_переменную_процесса.html @@ -0,0 +1,58 @@ + + + + + + + + Web-BPM Docs – Сохранить значение в переменную процесса + + + + + + +
    +
    + + + +
    +
    +

    Сохранить значение в переменную процесса

    +

    Назначение

    +

    Сохранить значение в переменную процесса любого типа - эта функция позволяет задать переменную процесса, в которую будет сохраняться введенное значение, которое в последствии может передаваться на другие страницы приложения в зависимости от решаемой задачи.

    +

    Настройка

    +

    Для добавления функции в логику работы компоненты необходимо нажать на кнопку Добавить скрипт - Выбрать из спискафункцию, если она предусмотрена для использования с компонентой (рис.1) - Указать переменную, в которую будет сохраняться значение из поля (рис.2)

    +

    +

    рис.1. Добавление функции

    +

    +

    рис.2. Настройка функции

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Управление_навигацией.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Управление_навигацией.html new file mode 100644 index 0000000..a6a6bd4 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Управление_навигацией.html @@ -0,0 +1,72 @@ + + + + + + + + Web-BPM Docs – Управление навигацией + + + + + + +
    +
    + + + +
    +
    +

    Управление навигацией

    +

    Функция, которая в режиме исполнения приложения (runtime mode) закрывает текущую web-страницу (завершает пользовательскую BPMN задачу), сохраняет предопределенное в настройках функции значение в переменную процесса navigation и отправляет маркер процесса к следующему узлу схемы процесса (чаще всего, к исключающему шлюзу, в котором на основании значения переменной navigation осуществляется выбор одного из возможных дальнейших маршрутов).

    +

    Может быть активирована только на компонентах Кнопка сохранения, Кнопка Выбора, Кнопка Отмены семейства компонент Кнопка.

    +

    Параметры функции (табл.1)

    + + + + + + + + + + + + + + +
    Наименование свойства Назначение свойства Принимаемые значения
    Значение переменной навигации, обязательный позволяет указать значение, которое будет сохранено в переменную процесса navigation Возможное значение например: edit
    +

    Объявление навигационной переменной с именем navigation и типом String является обязательным требованием при создании любого BPMN процесса в редакторе бизнес процессов:

    +

    +

    Обычной практикой является оперирование этой переменной при определении условий в исключающих шлюзах при разработке бизнес-процессов и анализ значения этой переменной в компоненте Обработка событий на странице в редакторе интерфейса. Некоторая часть дополнительных функций визуальных компонентов по умолчанию ссылается в своих настройках на эту переменную.

    +

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Функции.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Функции.html new file mode 100644 index 0000000..973c17b --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/Функции.html @@ -0,0 +1,77 @@ + + + + + + + + Web-BPM Docs – Функции + + + + + + +
    +
    + + + +
    +
    +

    Функции

    +

    Полный справочник функций, доступных для всех компонент:

    + +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/apache-maven-fluido-1.9.min.css b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/apache-maven-fluido-1.9.min.css new file mode 100644 index 0000000..0bafa30 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/apache-maven-fluido-1.9.min.css @@ -0,0 +1,17 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:gray}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}/*! + * Bootstrap Responsive v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none !important}.visible-tablet{display:none !important}.hidden-desktop{display:none !important}.visible-desktop{display:inherit !important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-tablet{display:inherit !important}.hidden-tablet{display:none !important}}@media(max-width:767px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-phone{display:inherit !important}.hidden-phone{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:inherit !important}.hidden-print{display:none !important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important}}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(https://cse.google.com/cse/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.9em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/print.css b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/print.css new file mode 100644 index 0000000..cd19a8c --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/print.css @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;} +#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important} diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/site.css b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/site.css new file mode 100644 index 0000000..055e7e2 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/css/site.css @@ -0,0 +1 @@ +/* You can override this file with your own styles */ \ No newline at end of file diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependencies.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependencies.html new file mode 100644 index 0000000..490ae35 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependencies.html @@ -0,0 +1,5824 @@ + + + + + + + + Web-BPM Docs – Project Dependencies + + + + + + +
    +
    + + + +
    +
    +
    +

    Project Dependencies

    +

    compile

    +

    The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicenses
    ru.cg.webbpm.packages.basebackend3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.packages.baseconverters3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.packages.basefrontend3.143.0-SNAPSHOTjar-
    +

    Project Transitive Dependencies

    +

    The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.

    +

    compile

    +

    The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicenses
    OAuth2EsiaOAuth2Esia1.1jar-
    ch.qos.logbacklogback-classic1.2.3jarEclipse Public License - v 1.0GNU Lesser General Public License
    ch.qos.logbacklogback-core1.2.3jarEclipse Public License - v 1.0GNU Lesser General Public License
    com.carrotsearchhppc0.8.1jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.corejackson-annotations2.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.corejackson-core2.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.corejackson-databind2.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.dataformatjackson-dataformat-cbor2.8.11jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.dataformatjackson-dataformat-smile2.8.11jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.dataformatjackson-dataformat-yaml2.8.11jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.datatypejackson-datatype-jsr3102.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.jaxrsjackson-jaxrs-base2.14.0jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.jaxrsjackson-jaxrs-json-provider2.14.0jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.modulejackson-module-jaxb-annotations2.14.0jarThe Apache Software License, Version 2.0
    com.github.ben-manes.caffeinecaffeine2.9.2jarApache License, Version 2.0
    com.github.spullara.mustache.javacompiler0.9.10jarApache License 2.0
    com.github.virtualdcurvesapi1.06jarBSD License
    com.google.code.findbugsjsr3051.3.9jarThe Apache Software License, Version 2.0
    com.google.code.gsongson2.3.1jarThe Apache Software License, Version 2.0
    com.google.errorproneerror_prone_annotations2.0.18jarApache 2.0
    com.google.guavaguava23.4-jrejarThe Apache Software License, Version 2.0
    com.google.j2objcj2objc-annotations1.1jarThe Apache Software License, Version 2.0
    com.h2databaseh21.4.199jarMPL 2.0 or EPL 1.0
    com.hazelcasthazelcast4.1.9jarThe Apache Software License, Version 2.0
    com.hazelcasthazelcast-spring4.1.4jarThe Apache Software License, Version 2.0
    com.sun.mailjavax.mail1.5.1jarCDDL/GPLv2+CE
    com.sun.xml.bindjaxb-impl2.3.3jarEclipse Distribution License - v 1.0
    com.tdunningt-digest3.2jarThe Apache Software License, Version 2.0
    com.zaxxerSparseBitSet1.2jarThe Apache Software License, Version 2.0
    commons-codeccommons-codec1.6jarThe Apache Software License, Version 2.0
    commons-iocommons-io2.4jarThe Apache Software License, Version 2.0
    commons-langcommons-lang2.6jarThe Apache Software License, Version 2.0
    commons-loggingcommons-logging1.1.1jarThe Apache Software License, Version 2.0
    io.jsonwebtokenjjwt-api0.10.5jarApache License, Version 2.0
    io.jsonwebtokenjjwt-jackson0.10.5jarApache License, Version 2.0
    io.nettynetty-buffer4.1.43.FinaljarApache License, Version 2.0
    io.nettynetty-codec4.1.43.FinaljarApache License, Version 2.0
    io.nettynetty-codec-http4.1.43.FinaljarApache License, Version 2.0
    io.nettynetty-common4.1.43.FinaljarApache License, Version 2.0
    io.nettynetty-handler4.1.43.FinaljarApache License, Version 2.0
    io.nettynetty-resolver4.1.43.FinaljarApache License, Version 2.0
    io.nettynetty-transport4.1.43.FinaljarApache License, Version 2.0
    jakarta.annotationjakarta.annotation-api1.3.5jarEPL 2.0GPL2 w/ CPE
    jakarta.validationjakarta.validation-api2.0.2jarApache License 2.0
    jakarta.ws.rsjakarta.ws.rs-api2.1.6jarEPL 2.0GPL2 w/ CPE
    javax.activationactivation1.1.1jarCOMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
    javax.activationjavax.activation-api1.2.0jarCDDL/GPLv2+CE
    javax.annotationjavax.annotation-api1.3.2jarCDDL + GPLv2 with classpath exception
    javax.mailjavax.mail-api1.5.4jarCDDL/GPLv2+CE
    javax.xml.bindjaxb-api2.3.1jarCDDL 1.1GPL2 w/ CPE
    joda-timejoda-time2.9.2jarApache 2
    net.java.dev.jnajna4.2.2jarLGPL, version 2.1ASL, version 2
    net.javacrumbs.shedlockshedlock-core0.18.2jarThe Apache Software License, Version 2.0
    net.javacrumbs.shedlockshedlock-provider-jdbc-internal0.18.2jarThe Apache Software License, Version 2.0
    net.javacrumbs.shedlockshedlock-provider-jdbc-template0.18.2jarThe Apache Software License, Version 2.0
    net.javacrumbs.shedlockshedlock-spring0.18.2jarThe Apache Software License, Version 2.0
    net.sf.jopt-simplejopt-simple5.0.2jarThe MIT License
    org.apache.commonscommons-collections44.1jarApache License, Version 2.0
    org.apache.commonscommons-compress1.19jarApache License, Version 2.0
    org.apache.commonscommons-csv1.9.0jarApache License, Version 2.0
    org.apache.commonscommons-lang33.6jarApache License, Version 2.0
    org.apache.commonscommons-math33.6.1jarApache License, Version 2.0
    org.apache.httpcomponentshttpasyncclient4.1.4jarApache License, Version 2.0
    org.apache.httpcomponentshttpclient4.5.1jarApache License, Version 2.0
    org.apache.httpcomponentshttpcore4.4.12jarApache License, Version 2.0
    org.apache.httpcomponentshttpcore-nio4.4.12jarApache License, Version 2.0
    org.apache.httpcomponentshttpmime4.5.13jarApache License, Version 2.0
    org.apache.logging.log4jlog4j-api2.11.1jarApache License, Version 2.0
    org.apache.lucenelucene-analyzers-common8.4.0jarApache 2
    org.apache.lucenelucene-backward-codecs8.4.0jarApache 2
    org.apache.lucenelucene-core8.4.0jarApache 2
    org.apache.lucenelucene-grouping8.4.0jarApache 2
    org.apache.lucenelucene-highlighter8.4.0jarApache 2
    org.apache.lucenelucene-join8.4.0jarApache 2
    org.apache.lucenelucene-memory8.4.0jarApache 2
    org.apache.lucenelucene-misc8.4.0jarApache 2
    org.apache.lucenelucene-queries8.4.0jarApache 2
    org.apache.lucenelucene-queryparser8.4.0jarApache 2
    org.apache.lucenelucene-sandbox8.4.0jarApache 2
    org.apache.lucenelucene-spatial8.4.0jarApache 2
    org.apache.lucenelucene-spatial-extras8.4.0jarApache 2
    org.apache.lucenelucene-spatial3d8.4.0jarApache 2
    org.apache.lucenelucene-suggest8.4.0jarApache 2
    org.apache.mavenmaven-model3.3.3jarApache License, Version 2.0
    org.apache.maven.sharedmaven-invoker3.0.1jarApache License, Version 2.0
    org.apache.maven.sharedmaven-shared-utils3.2.1jarApache License, Version 2.0
    org.apache.poipoi4.1.2jarApache License, Version 2.0
    org.apache.poipoi-ooxml4.1.2jarApache License, Version 2.0
    org.apache.poipoi-ooxml-schemas4.1.2jarApache License, Version 2.0
    org.apache.santuarioxmlsec1.5.7jarThe Apache Software License, Version 2.0
    org.apache.tikatika-core1.7jarThe Apache Software License, Version 2.0
    org.apache.xmlbeansxmlbeans3.1.0jarThe Apache Software License, Version 2.0
    org.aspectjaspectjweaver1.9.5jarEclipse Public License - v 1.0
    org.bouncycastlebcpkix-jdk15on1.60jarBouncy Castle Licence
    org.bouncycastlebcprov-jdk15on1.60jarBouncy Castle Licence
    org.checkerframeworkchecker-qual3.10.0jarThe MIT License
    org.codehaus.mojoanimal-sniffer-annotations1.14jarMIT license
    org.codehaus.plexusplexus-component-annotations1.7.1jarApache License, Version 2.0
    org.codehaus.plexusplexus-utils3.0.20jarThe Apache Software License, Version 2.0
    org.controlsfxcontrolsfx11.1.1jarThe 3-Clause BSD License
    org.easymockeasymock3.5.1jarApache 2
    org.elasticsearchelasticsearch7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchelasticsearch-cli7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchelasticsearch-core7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchelasticsearch-geo7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchelasticsearch-secure-sm7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchelasticsearch-ssl-config7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchelasticsearch-x-content7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearchjna4.5.1jarThe Apache Software License, Version 2.0
    org.elasticsearch.clientelasticsearch-rest-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.clientelasticsearch-rest-high-level-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.clienttransport7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginaggs-matrix-stats-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginlang-mustache-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginmapper-extras-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginparent-join-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginpercolator-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginrank-eval-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.pluginreindex-client7.6.2jarThe Apache Software License, Version 2.0
    org.elasticsearch.plugintransport-netty4-client7.6.2jarThe Apache Software License, Version 2.0
    org.glassfishjavax.json1.0.4jarDual license consisting of the CDDL v1.1 and GPL v2
    org.glassfish.grizzlygrizzly-framework2.4.4jarEPL-2.0
    org.glassfish.grizzlygrizzly-http2.4.4jarEPL-2.0
    org.glassfish.grizzlygrizzly-http-server2.4.4jarEPL-2.0
    org.glassfish.hk2hk2-api2.6.1jarEPL 2.0GPL2 w/ CPE
    org.glassfish.hk2hk2-locator2.6.1jarEPL 2.0GPL2 w/ CPE
    org.glassfish.hk2hk2-utils2.6.1jarEPL 2.0GPL2 w/ CPE
    org.glassfish.hk2osgi-resource-locator1.0.3jarEPL 2.0GPL2 w/ CPE
    org.glassfish.hk2.externalaopalliance-repackaged2.6.1jarEPL 2.0GPL2 w/ CPE
    org.glassfish.hk2.externaljakarta.inject2.6.1jarEPL 2.0GPL2 w/ CPE
    org.glassfish.jersey.containersjersey-container-grizzly2-http2.35jarEPL 2.0GPL2 w/ CPEEDL 1.0BSD 2-ClauseApache License, 2.0Public DomainModified BSDjQuery licenseMIT licenseW3C license
    org.glassfish.jersey.corejersey-client2.35jarEPL 2.0GPL2 w/ CPEEDL 1.0BSD 2-ClauseApache License, 2.0Public DomainModified BSDjQuery licenseMIT licenseW3C license
    org.glassfish.jersey.corejersey-common2.35jarEPL 2.0The GNU General Public License (GPL), Version 2, With Classpath ExceptionApache License, 2.0Public Domain
    org.glassfish.jersey.corejersey-server2.35jarEPL 2.0The GNU General Public License (GPL), Version 2, With Classpath ExceptionApache License, 2.0Modified BSD
    org.glassfish.jersey.extjersey-entity-filtering2.35jarEPL 2.0GPL2 w/ CPEEDL 1.0BSD 2-ClauseApache License, 2.0Public DomainModified BSDjQuery licenseMIT licenseW3C license
    org.glassfish.jersey.injectjersey-hk22.35jarEPL 2.0GPL2 w/ CPEEDL 1.0BSD 2-ClauseApache License, 2.0Public DomainModified BSDjQuery licenseMIT licenseW3C license
    org.glassfish.jersey.mediajersey-media-json-jackson2.35jarEPL 2.0The GNU General Public License (GPL), Version 2, With Classpath ExceptionApache License, 2.0
    org.hdrhistogramHdrHistogram2.1.9jarPublic Domain, per Creative Commons CC0
    org.hsqldbhsqldb2.5.2jarHSQLDB License, a BSD open source license
    org.javassistjavassist3.25.0-GAjarMPL 1.1LGPL 2.1Apache License 2.0
    org.jooqjooq3.14.15jarApache License, Version 2.0
    org.jooqjooq-meta3.14.15jarApache License, Version 2.0
    org.jooqjooq-meta-extensions3.14.15jarApache License, Version 2.0
    org.jooqjooq-meta-extensions-liquibase3.14.15jarApache License, Version 2.0
    org.jsonjson20220924jarPublic Domain
    org.liquibaseliquibase-core3.10.3jarApache License, Version 2.0
    org.mnode.ical4jical4j3.0.5jariCal4j - License
    org.objenesisobjenesis2.6jarApache 2
    org.reactivestreamsreactive-streams1.0.2jarCC0
    org.slf4jjul-to-slf4j1.7.10jarMIT License
    org.slf4jslf4j-api1.7.10jarMIT License
    org.springframeworkspring-aop5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-aspects5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-beans5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-context5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-context-support5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-core5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-expression5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-jcl5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-jdbc5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-tx5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-web5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-webmvc5.2.6.RELEASEjarApache License, Version 2.0
    org.springframework.dataspring-data-commons2.3.0.RELEASEjarApache License, Version 2.0
    org.springframework.dataspring-data-elasticsearch4.0.0.RELEASEjarApache License, Version 2.0
    org.springframework.ldapspring-ldap-core2.3.4.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-config5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-core5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-jwt1.0.9.RELEASEjarApache 2.0
    org.springframework.securityspring-security-web5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.security.kerberosspring-security-kerberos-core1.0.1.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.security.kerberosspring-security-kerberos-web1.0.1.RELEASEjarThe Apache Software License, Version 2.0
    org.telegramtelegrambots6.3.0jarMIT License
    org.telegramtelegrambots-meta6.3.0jarMIT License
    org.yamlsnakeyaml1.17jarApache License, Version 2.0
    org.zeroturnaroundzt-exec1.12jarThe Apache Software License, Version 2.0
    org.zeroturnaroundzt-process-killer1.10jarThe Apache Software License, Version 2.0
    org.zeroturnaroundzt-zip1.15jarThe Apache Software License, Version 2.0
    ru.cg.webbpm.modulesexpression3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modulesinject3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modulesstandard-annotations3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.moduleswebkit-annotations3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.moduleswebkit-base3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.moduleswebkit-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.moduleswebkit-rpc3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.bpmnbpmn-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.coreapp-info3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.coreerror-handling-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.coremetrics3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.databasedatabase-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.jndijndi-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.jndijndi-inject3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-adapter3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-db-synchronization-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-db-synchronization-ldap-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-esia3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studioresources3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.basecore-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.baseplatform-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.bpmnbpmn-core-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.bpmnwebbpm-process-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.databasedatabase-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.databasedatabase-models3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.page-designerserialized-page-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.script-editorserialized-object-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.scriptingcompile-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.scriptingmetadata-models3.143.0-SNAPSHOTjar-
    ru.fixaggregating-profiler1.4.7jarThe Apache License, Version 2.0
    ru.micord.fiasclient2.24.1jar-
    ru.micord.gargar-client2.6.0jar-
    ru.micord.gargar-core2.6.0jar-
    +

    runtime

    +

    The following is a list of runtime dependencies for this project. These dependencies are required to run the application:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicenses
    com.sun.activationjakarta.activation1.2.2jarEDL 1.0
    io.jsonwebtokenjjwt-impl0.10.5jarApache License, Version 2.0
    xercesxercesImpl2.11.0jarThe Apache Software License, Version 2.0
    xml-apisxml-apis1.4.01jarThe Apache Software License, Version 2.0The SAX LicenseThe W3C License
    +

    provided

    +

    The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicenses
    com.zaxxerHikariCP2.4.0jarThe Apache Software License, Version 2.0
    jakarta.xml.bindjakarta.xml.bind-api2.3.3jarEclipse Distribution License - v 1.0
    javaxjavaee-api7.0jarCDDL + GPLv2 with classpath exception
    org.postgresqlpostgresql42.5.2jarBSD-2-Clause
    org.xerialsqlite-jdbc3.34.0jarThe Apache Software License, Version 2.0
    ru.cg.webbpm.modules.corecore-runtime-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.databasedatabase-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.databasedatabase-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.resourcesresources-api3.143.0-SNAPSHOTjar-
    +

    Project Dependency Graph

    + +
    +

    Dependency Tree

    +
    +

    Licenses

    +

    MPL 2.0 or EPL 1.0: H2 Database Engine

    +

    Apache 2.0: Spring Security JWT Library, error-prone annotations

    +

    The Apache License, Version 2.0: ru.fix:aggregating-profiler

    +

    MIT License: JUL to SLF4J bridge, SLF4J API Module, Telegram Bots, Telegram Bots Meta

    +

    jQuery license: jersey-container-grizzly2-http, jersey-core-client, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    GPL2 w/ CPE: HK2 API module, HK2 Implementation Utilities, Jakarta Annotations API, OSGi resource locator, ServiceLocator Default Implementation, aopalliance version 1.0 repackaged as a module, jakarta.ws.rs-api, javax.inject:1 as OSGi bundle, jaxb-api, jersey-container-grizzly2-http, jersey-core-client, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    CDDL/GPLv2+CE: JavaBeans Activation Framework API jar, JavaMail API, JavaMail API jar

    +

    Apache 2: EasyMock, Joda-Time, Lucene Common Analyzers, Lucene Core, Lucene Grouping, Lucene Highlighter, Lucene Join, Lucene Memory, Lucene Miscellaneous, Lucene Queries, Lucene QueryParsers, Lucene Sandbox, Lucene Spatial, Lucene Spatial 3D, Lucene Spatial Extras, Lucene Suggest, Objenesis

    +

    CC0: reactive-streams

    +

    Unknown: OAuth2Esia, app-info, backend, bpmn-beans, bpmn-core-api, client, compile-api, converters, core-api, core-runtime-api, database-api, database-beans, database-impl, database-models, error-handling-api, expression, frontend, gar-client, gar-core, inject, jndi-beans, jndi-inject, metadata-models, metrics, platform-api, resources, resources-api, security-adapter, security-api, security-beans, security-db-synchronization-api, security-db-synchronization-ldap-impl, security-esia, serialized-object-api, serialized-page-api, standard-annotations, webbpm-process-api, webkit-annotations, webkit-base, webkit-beans, webkit-rpc

    +

    Public Domain, per Creative Commons CC0: HdrHistogram

    +

    Apache License 2.0: Jakarta Bean Validation API, Javassist, compiler

    +

    BSD License: curvesapi

    +

    The MIT License: Checker Qual, JOpt Simple

    +

    Apache License, Version 2.0: Apache Commons CSV, Apache Commons Collections, Apache Commons Compress, Apache Commons Lang, Apache Commons Math, Apache HttpAsyncClient, Apache HttpClient, Apache HttpClient Mime, Apache HttpCore, Apache HttpCore NIO, Apache Log4j API, Apache Maven Invoker, Apache Maven Shared Utils, Apache POI, Caffeine cache, JJWT :: API, JJWT :: Extensions :: Jackson, JJWT :: Impl, Liquibase, Maven Model, Netty/Buffer, Netty/Codec, Netty/Codec/HTTP, Netty/Common, Netty/Handler, Netty/Resolver, Netty/Transport, Plexus :: Component Annotations, SnakeYAML, Spring AOP, Spring Aspects, Spring Beans, Spring Commons Logging Bridge, Spring Context, Spring Context Support, Spring Core, Spring Data Core, Spring Data Elasticsearch, Spring Expression Language (SpEL), Spring JDBC, Spring Transaction, Spring Web, Spring Web MVC, jOOQ, jOOQ Meta, jOOQ Meta Extensions, jOOQ Meta Extensions Liquibase

    +

    COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0: JavaBeans(TM) Activation Framework

    +

    EPL 2.0: HK2 API module, HK2 Implementation Utilities, Jakarta Annotations API, OSGi resource locator, ServiceLocator Default Implementation, aopalliance version 1.0 repackaged as a module, jakarta.ws.rs-api, javax.inject:1 as OSGi bundle, jersey-container-grizzly2-http, jersey-core-client, jersey-core-common, jersey-core-server, jersey-ext-entity-filtering, jersey-inject-hk2, jersey-media-json-jackson

    +

    MIT license: Animal Sniffer Annotations, jersey-container-grizzly2-http, jersey-core-client, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    MPL 1.1: Javassist

    +

    LGPL, version 2.1: Java Native Access

    +

    BSD 2-Clause: jersey-container-grizzly2-http, jersey-core-client, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    Apache License, 2.0: jersey-container-grizzly2-http, jersey-core-client, jersey-core-common, jersey-core-server, jersey-ext-entity-filtering, jersey-inject-hk2, jersey-media-json-jackson

    +

    CDDL 1.1: jaxb-api

    +

    The SAX License: XML Commons External Components XML APIs

    +

    The 3-Clause BSD License: ControlsFX

    +

    HSQLDB License, a BSD open source license: HyperSQL Database

    +

    BSD-2-Clause: PostgreSQL JDBC Driver

    +

    The W3C License: XML Commons External Components XML APIs

    +

    Public Domain: JSON in Java, jersey-container-grizzly2-http, jersey-core-client, jersey-core-common, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    GNU Lesser General Public License: Logback Classic Module, Logback Core Module

    +

    Bouncy Castle Licence: Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs, Bouncy Castle Provider

    +

    W3C license: jersey-container-grizzly2-http, jersey-core-client, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    EDL 1.0: Jakarta Activation, jersey-container-grizzly2-http, jersey-core-client, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    iCal4j - License: ical4j

    +

    Modified BSD: jersey-container-grizzly2-http, jersey-core-client, jersey-core-server, jersey-ext-entity-filtering, jersey-inject-hk2

    +

    Eclipse Distribution License - v 1.0: Jakarta XML Binding API, Old JAXB Runtime

    +

    LGPL 2.1: Javassist

    +

    ASL, version 2: Java Native Access

    +

    CDDL + GPLv2 with classpath exception: Java(TM) EE 7 Specification APIs, javax.annotation API

    +

    Dual license consisting of the CDDL v1.1 and GPL v2: JSR 353 (JSON Processing) Default Provider

    +

    EPL-2.0: grizzly-framework, grizzly-http, grizzly-http-server

    +

    The Apache Software License, Version 2.0: Apache Tika core, Apache XML Security for Java, Commons Codec, Commons IO, Commons Lang, Commons Logging, Elastic JNA Distribution, FindBugs-jsr305, Gson, Guava: Google Core Libraries for Java, HPPC Collections, HikariCP, J2ObjC Annotations, Jackson dataformat: CBOR, Jackson dataformat: Smile, Jackson datatype: JSR310, Jackson module: Old JAXB Annotations (javax.xml.bind), Jackson-JAXRS: JSON, Jackson-JAXRS: base, Jackson-annotations, Jackson-core, Jackson-dataformat-YAML, Plexus Common Utilities, SQLite JDBC, SparseBitSet, Spring Security Kerberos Core, Spring Security Kerberos Web, T-Digest, XML Commons External Components XML APIs, Xerces2-j, XmlBeans, ZT Process Executor, ZT Process Killer, ZT Zip, aggs-matrix-stats, elasticsearch-cli, elasticsearch-core, elasticsearch-geo, elasticsearch-secure-sm, elasticsearch-ssl-config, elasticsearch-x-content, hazelcast, hazelcast-spring, jackson-databind, lang-mustache, mapper-extras, parent-join, percolator, rank-eval, reindex, rest, rest-high-level, server, shedlock-core, shedlock-provider-jdbc-internal, shedlock-provider-jdbc-template, shedlock-spring, spring-ldap-core, spring-security-config, spring-security-core, spring-security-web, transport, transport-netty4

    +

    Eclipse Public License - v 1.0: AspectJ weaver, Logback Classic Module, Logback Core Module

    +

    The GNU General Public License (GPL), Version 2, With Classpath Exception: jersey-core-common, jersey-core-server, jersey-media-json-jackson

    +

    Dependency File Details

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FilenameSizeEntriesClassesPackagesJava VersionDebug InformationSealed
    OAuth2Esia-1.1.jar34.5 kB362431.5YesNo
    logback-classic-1.2.3.jar290.3 kB234175271.6YesNo
    logback-core-1.2.3.jar471.9 kB419373361.6YesNo
    hppc-0.8.1.jar1.2 MB96495051.7YesNo
    jackson-annotations-2.12.4.jar75.7 kB84722-YesNo
    jackson-core-2.12.4.jar365.2 kB15112513-YesNo
    jackson-databind-2.12.4.jar1.5 MB73770123-YesNo
    jackson-dataformat-cbor-2.8.11.jar50.7 kB23911.7YesNo
    jackson-dataformat-smile-2.8.11.jar73.9 kB321721.7YesNo
    jackson-dataformat-yaml-2.8.11.jar40.9 kB311321.7YesNo
    jackson-datatype-jsr310-2.12.4.jar120.4 kB79597-YesNo
    jackson-jaxrs-base-2.14.0.jar31.9 kB37195-YesNo
    jackson-jaxrs-json-provider-2.14.0.jar16.7 kB31113-YesNo
    jackson-module-jaxb-annotations-2.14.0.jar36.8 kB34144-YesNo
    caffeine-2.9.2.jar925.3 kB70369241.8YesNo
    compiler-0.9.10.jar111.5 kB1069071.8YesNo
    curvesapi-1.06.jar111.9 kB12010161.5YesNo
    jsr305-1.3.9.jar33 kB723531.5YesNo
    gson-2.3.1.jar210.9 kB17516561.5YesNo
    error_prone_annotations-2.0.18.jar12.1 kB311921.7NoNo
    guava-23.4-jre.jar2.7 MB19461916181.8YesNo
    j2objc-annotations-1.1.jar8.8 kB231211.5YesNo
    h2-1.4.199.jar2.2 MB87787244-YesNo
    hazelcast-4.1.9.jar11.6 MB752469834671.8YesNo
    hazelcast-spring-4.1.4.jar163.1 kB472851.8YesNo
    jakarta.activation-1.2.2.jar68.5 kB61434-YesNo
    javax.mail-1.5.1.jar545.4 kB342311141.5YesNo
    jaxb-impl-2.3.3.jar1.1 MB92372432-YesNo
    t-digest-3.2.jar51.2 kB291811.7YesNo
    HikariCP-2.4.0.jar125.4 kB897461.7YesNo
    SparseBitSet-1.2.jar24.5 kB251511.5YesNo
    commons-codec-1.6.jar232.8 kB2187661.5YesNo
    commons-io-2.4.jar185.1 kB12811061.6YesNo
    commons-lang-2.6.jar284.2 kB155133101.3YesNo
    commons-logging-1.1.1.jar60.7 kB422821.1YesNo
    jjwt-api-0.10.5.jar74.8 kB887641.7YesNo
    jjwt-impl-0.10.5.jar68 kB665341.7YesNo
    jjwt-jackson-0.10.5.jar4.7 kB12211.7YesNo
    netty-buffer-4.1.43.Final.jar277.4 kB13311711.6YesNo
    netty-codec-4.1.43.Final.jar318.4 kB220198101.6YesNo
    netty-codec-http-4.1.43.Final.jar594.7 kB38135591.6YesNo
    netty-common-4.1.43.Final.jar605.4 kB48845891.6YesNo
    netty-handler-4.1.43.Final.jar441.3 kB302275111.6YesNo
    netty-resolver-4.1.43.Final.jar32.8 kB382611.6YesNo
    netty-transport-4.1.43.Final.jar474 kB387359121.6YesNo
    jakarta.annotation-api-1.3.5.jar25.1 kB281531.8YesNo
    jakarta.validation-api-2.0.2.jar91.9 kB16014391.8YesNo
    jakarta.ws.rs-api-2.1.6.jar140.4 kB1551387-YesNo
    jakarta.xml.bind-api-2.3.3.jar115.6 kB1371117-YesNo
    javaee-api-7.0.jar1.9 MB238922381331.7YesNo
    activation-1.1.1.jar69.4 kB503831.4YesNo
    javax.activation-api-1.2.0.jar56.7 kB413111.5YesNo
    javax.annotation-api-1.3.2.jar26.6 kB291531.8YesNo
    javax.mail-api-1.5.4.jar194 kB14813451.5YesNo
    jaxb-api-2.3.1.jar128.1 kB1361117-YesNo
    joda-time-2.9.2.jar625.6 kB75224671.5YesNo
    jna-4.2.2.jar1.1 MB15410731.6YesNo
    shedlock-core-0.18.2.jar13.4 kB281621.8YesNo
    shedlock-provider-jdbc-internal-0.18.2.jar5.1 kB14111.8YesNo
    shedlock-provider-jdbc-template-0.18.2.jar4.3 kB14211.8YesNo
    shedlock-spring-0.18.2.jar13.3 kB211011.8YesNo
    jopt-simple-5.0.2.jar78.1 kB715931.7YesNo
    commons-collections4-4.1.jar751.2 kB548518181.6YesNo
    commons-compress-1.19.jar615.1 kB395354291.7YesNo
    commons-csv-1.9.0.jar51.3 kB301711.8YesNo
    commons-lang3-3.6.jar494.9 kB292267131.7YesNo
    commons-math3-3.6.1.jar2.2 MB14021301751.5YesNo
    httpasyncclient-4.1.4.jar180 kB1118681.6YesNo
    httpclient-4.5.1.jar732.8 kB502461241.6YesNo
    httpcore-4.4.12.jar328.3 kB283253171.6YesNo
    httpcore-nio-4.4.12.jar367.7 kB270241141.6YesNo
    httpmime-4.5.13.jar41.8 kB402321.6YesNo
    log4j-api-2.11.1.jar264.1 kB1941628-YesNo
    lucene-analyzers-common-8.4.0.jar1.7 MB693579631.8YesNo
    lucene-backward-codecs-8.4.0.jar139.4 kB1018641.8YesNo
    lucene-core-8.4.0.jar3.3 MB20751978271.8YesNo
    lucene-grouping-8.4.0.jar90.8 kB665711.8YesNo
    lucene-highlighter-8.4.0.jar209.2 kB14313231.8YesNo
    lucene-join-8.4.0.jar148.9 kB11210311.8YesNo
    lucene-memory-8.4.0.jar51.9 kB372011.8YesNo
    lucene-misc-8.4.0.jar99 kB805781.8YesNo
    lucene-queries-8.4.0.jar369.8 kB29828471.8YesNo
    lucene-queryparser-8.4.0.jar382.1 kB292254251.8YesNo
    lucene-sandbox-8.4.0.jar320.7 kB18716061.8YesNo
    lucene-spatial-8.4.0.jar14.5 kB13421.8YesNo
    lucene-spatial-extras-8.4.0.jar240.3 kB164147101.8YesNo
    lucene-spatial3d-8.4.0.jar306.8 kB15214321.8YesNo
    lucene-suggest-8.4.0.jar249.5 kB14913171.8YesNo
    maven-model-3.3.3.jar160.8 kB675031.7YesNo
    maven-invoker-3.0.1.jar33 kB341711.7YesNo
    maven-shared-utils-3.2.1.jar166.6 kB10984101.6YesNo
    poi-4.1.2.jar2.9 MB18431764661.8YesNo
    poi-ooxml-4.1.2.jar1.9 MB942878481.8YesNo
    poi-ooxml-schemas-4.1.2.jar7.9 MB75434261501.8NoNo
    xmlsec-1.5.7.jar656 kB484393321.5YesNo
    tika-core-1.7.jar526.2 kB294235171.6YesNo
    xmlbeans-3.1.0.jar2.6 MB20921373511.6YesNo
    aspectjweaver-1.9.5.jar2 MB1020968361.8YesNo
    bcpkix-jdk15on-1.60.jar796.5 kB723674421.5NoNo
    bcprov-jdk15on-1.60.jar4.2 MB349433301491.5NoNo
    checker-qual-3.10.0.jar207 kB396330291.8YesNo
    animal-sniffer-annotations-1.14.jar3.5 kB12111.5NoNo
    plexus-component-annotations-1.7.1.jar4.3 kB15311.6NoNo
    plexus-utils-3.0.20.jar243.1 kB12910491.5YesNo
    controlsfx-11.1.1.jar1.4 MB77065241-YesNo
    easymock-3.5.1.jar540.2 kB404375131.6YesNo
    elasticsearch-7.6.2.jar11.8 MB63846048286-YesNo
    elasticsearch-cli-7.6.2.jar17.1 kB16911.8YesNo
    elasticsearch-core-7.6.2.jar44.7 kB492310-YesNo
    elasticsearch-geo-7.6.2.jar45 kB312321.8YesNo
    elasticsearch-secure-sm-7.6.2.jar11 kB12511.8YesNo
    elasticsearch-ssl-config-7.6.2.jar66.6 kB413311.8YesNo
    elasticsearch-x-content-7.6.2.jar132.5 kB1028881.8YesNo
    jna-4.5.1.jar885.3 kB14010731.6YesNo
    elasticsearch-rest-client-7.6.2.jar63.6 kB494211.8YesNo
    elasticsearch-rest-high-level-client-7.6.2.jar1.5 MB824763491.8YesNo
    transport-7.6.2.jar7.6 kB9111.8YesNo
    aggs-matrix-stats-client-7.6.2.jar60.6 kB443051.8YesNo
    lang-mustache-client-7.6.2.jar62.7 kB423411.8YesNo
    mapper-extras-client-7.6.2.jar88.9 kB605121.8YesNo
    parent-join-client-7.6.2.jar82.8 kB544151.8YesNo
    percolator-client-7.6.2.jar74.8 kB332611.8YesNo
    rank-eval-client-7.6.2.jar77 kB382811.8YesNo
    reindex-client-7.6.2.jar116.7 kB554621.8YesNo
    transport-netty4-client-7.6.2.jar74.1 kB463541.8YesNo
    javax.json-1.0.4.jar85.1 kB887251.6YesNo
    grizzly-framework-2.4.4.jar852 kB619583231.8YesNo
    grizzly-http-2.4.4.jar349.5 kB17816331.8YesNo
    grizzly-http-server-2.4.4.jar312 kB19717781.8YesNo
    hk2-api-2.6.1.jar200.2 kB19717671.8YesNo
    hk2-locator-2.6.1.jar203.4 kB1179931.8YesNo
    hk2-utils-2.6.1.jar131.6 kB1028071.8YesNo
    osgi-resource-locator-1.0.3.jar19.5 kB231211.6YesNo
    aopalliance-repackaged-2.6.1.jar27 kB412641.8YesNo
    jakarta.inject-2.6.1.jar18.1 kB17611.8NoNo
    jersey-container-grizzly2-http-2.35.jar42.3 kB401821.8YesNo
    jersey-client-2.35.jar260.5 kB191162101.8YesNo
    jersey-common-2.35.jar1.2 MB92486923-YesNo
    jersey-server-2.35.jar948.9 kB666607271.8YesNo
    jersey-entity-filtering-2.35.jar84 kB765931.8YesNo
    jersey-hk2-2.35.jar78.4 kB684611.8YesNo
    jersey-media-json-jackson-2.35.jar75.9 kB654081.8YesNo
    HdrHistogram-2.1.9.jar114.2 kB685911.6YesNo
    hsqldb-2.5.2.jar1.6 MB754690221.8NoYes
    javassist-3.25.0-GA.jar780.3 kB449425171.7YesNo
    jooq-3.14.15.jar3.2 MB20652024211.8YesNo
    jooq-meta-3.14.15.jar683.6 kB381334341.8YesNo
    jooq-meta-extensions-3.14.15.jar11.2 kB18421.8YesNo
    jooq-meta-extensions-liquibase-3.14.15.jar6.4 kB15111.8YesNo
    json-20220924.jar70.3 kB362711.6YesNo
    liquibase-core-3.10.3.jar3.2 MB224319231171.8YesNo
    ical4j-3.0.5.jar1.3 MB1527531161.8YesNo
    objenesis-2.6.jar55.7 kB5943101.6YesNo
    postgresql-42.5.2.jar1 MB536469441.8YesNo
    reactive-streams-1.0.2.jar2.1 kB8411.6NoNo
    jul-to-slf4j-1.7.10.jar4.7 kB11111.5YesNo
    slf4j-api-1.7.10.jar32.1 kB392831.5YesNo
    spring-aop-5.2.6.RELEASE.jar372.3 kB306277171.8YesNo
    spring-aspects-5.2.6.RELEASE.jar47.4 kB472851.8YesNo
    spring-beans-5.2.6.RELEASE.jar686.5 kB413383131.8YesNo
    spring-context-5.2.6.RELEASE.jar1.2 MB964877641.8YesNo
    spring-context-support-5.2.6.RELEASE.jar182.4 kB140119111.8YesNo
    spring-core-5.2.6.RELEASE.jar1.4 MB1020962471.8YesNo
    spring-expression-5.2.6.RELEASE.jar282.2 kB16415061.8YesNo
    spring-jcl-5.2.6.RELEASE.jar24 kB281721.8YesNo
    spring-jdbc-5.2.6.RELEASE.jar407.2 kB315285171.8YesNo
    spring-tx-5.2.6.RELEASE.jar314.4 kB288254201.8YesNo
    spring-web-5.2.6.RELEASE.jar1.4 MB994924551.8YesNo
    spring-webmvc-5.2.6.RELEASE.jar955 kB586541281.8YesNo
    spring-data-commons-2.3.0.RELEASE.jar1.2 MB830759421.8YesNo
    spring-data-elasticsearch-4.0.0.RELEASE.jar557.9 kB370319251.8YesNo
    spring-ldap-core-2.3.4.RELEASE.jar378.4 kB340300271.6YesNo
    spring-security-config-5.2.6.RELEASE.jar862.2 kB382309351.8YesNo
    spring-security-core-5.2.6.RELEASE.jar445.7 kB410334491.8YesNo
    spring-security-jwt-1.0.9.RELEASE.jar37.2 kB412641.6YesNo
    spring-security-web-5.2.6.RELEASE.jar568 kB470401521.8YesNo
    spring-security-kerberos-core-1.0.1.RELEASE.jar20.6 kB231521.6YesNo
    spring-security-kerberos-web-1.0.1.RELEASE.jar7.1 kB11311.6YesNo
    telegrambots-6.3.0.jar58.2 kB442871.8YesNo
    telegrambots-meta-6.3.0.jar982.2 kB573510521.8YesNo
    sqlite-jdbc-3.34.0.jar7.3 MB16010471.8YesNo
    snakeyaml-1.17.jar273.6 kB242206191.5YesNo
    zt-exec-1.12.jar57.1 kB625261.6YesNo
    zt-process-killer-1.10.jar32.6 kB362931.7YesNo
    zt-zip-1.15.jar111.7 kB968651.6YesNo
    expression-3.143.0-SNAPSHOT.jar24.6 kB362131.8YesNo
    inject-3.143.0-SNAPSHOT.jar5.4 kB16311.8YesNo
    standard-annotations-3.143.0-SNAPSHOT.jar10.4 kB311531.8NoNo
    webkit-annotations-3.143.0-SNAPSHOT.jar4.9 kB19511.8NoNo
    webkit-base-3.143.0-SNAPSHOT.jar11.6 kB20621.8YesNo
    webkit-beans-3.143.0-SNAPSHOT.jar11.9 kB18411.8YesNo
    webkit-rpc-3.143.0-SNAPSHOT.jar17.1 kB301241.8YesNo
    bpmn-beans-3.143.0-SNAPSHOT.jar16.3 kB351741.8YesNo
    app-info-3.143.0-SNAPSHOT.jar4.8 kB18211.8YesNo
    core-runtime-api-3.143.0-SNAPSHOT.jar7 kB20511.8YesNo
    error-handling-api-3.143.0-SNAPSHOT.jar10.7 kB27821.8YesNo
    metrics-3.143.0-SNAPSHOT.jar5.1 kB16211.8YesNo
    database-api-3.143.0-SNAPSHOT.jar46.1 kB6739121.8YesNo
    database-beans-3.143.0-SNAPSHOT.jar46.6 kB543381.8YesNo
    database-impl-3.143.0-SNAPSHOT.jar69 kB6333131.8YesNo
    jndi-beans-3.143.0-SNAPSHOT.jar7.6 kB24521.8YesNo
    jndi-inject-3.143.0-SNAPSHOT.jar5.3 kB16111.8YesNo
    resources-api-3.143.0-SNAPSHOT.jar8.5 kB22811.8YesNo
    security-adapter-3.143.0-SNAPSHOT.jar5.5 kB17311.8YesNo
    security-api-3.143.0-SNAPSHOT.jar273.2 kB255116211.8YesNo
    security-beans-3.143.0-SNAPSHOT.jar5.2 kB17311.8YesNo
    security-db-synchronization-api-3.143.0-SNAPSHOT.jar18.7 kB311241.8YesNo
    security-db-synchronization-ldap-impl-3.143.0-SNAPSHOT.jar23.2 kB351541.8YesNo
    security-esia-3.143.0-SNAPSHOT.jar5.7 kB18321.8YesNo
    backend-3.143.0-SNAPSHOT.jar793.9 kB8126241241.8YesNo
    converters-3.143.0-SNAPSHOT.jar87.8 kB6935201.8YesNo
    frontend-3.143.0-SNAPSHOT.jar3.1 kB800-NoNo
    resources-3.143.0-SNAPSHOT.jar1.3 MB298624-YesNo
    core-api-3.143.0-SNAPSHOT.jar110.1 kB14611319-YesNo
    platform-api-3.143.0-SNAPSHOT.jar144.2 kB16513021-YesNo
    bpmn-core-api-3.143.0-SNAPSHOT.jar12.5 kB34145-YesNo
    webbpm-process-api-3.143.0-SNAPSHOT.jar19.4 kB41197-YesNo
    database-api-3.143.0-SNAPSHOT.jar15.9 kB34183-YesNo
    database-models-3.143.0-SNAPSHOT.jar5.1 kB1621-YesNo
    serialized-page-api-3.143.0-SNAPSHOT.jar67.1 kB714610-YesNo
    serialized-object-api-3.143.0-SNAPSHOT.jar44.7 kB59386-YesNo
    compile-api-3.143.0-SNAPSHOT.jar9.3 kB2591-YesNo
    metadata-models-3.143.0-SNAPSHOT.jar28.3 kB27141-YesNo
    aggregating-profiler-1.4.7.jar28.6 kB292221.8YesNo
    client-2.24.1.jar60 kB5836111.8YesNo
    gar-client-2.6.0.jar48.3 kB472771.8YesNo
    gar-core-2.6.0.jar67 kB836841.8YesNo
    xercesImpl-2.11.0.jar1.4 MB1035952401.3NoNo
    xml-apis-1.4.01.jar220.5 kB391346291.1NoNo
    TotalSizeEntriesClassesPackagesJava VersionDebug InformationSealed
    229130 MB855257208638521.82151
    compile: 216compile: 117.7 MBcompile: 80489compile: 67611compile: 3551-compile: 204compile: 1
    runtime: 4runtime: 1.7 MBruntime: 1553runtime: 1394runtime: 77-runtime: 2-
    provided: 9provided: 10.6 MBprovided: 3483provided: 3081provided: 224-provided: 9-
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependency-info.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependency-info.html new file mode 100644 index 0000000..b79c577 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependency-info.html @@ -0,0 +1,73 @@ + + + + + + + + Web-BPM Docs – Dependency Information + + + + + + +
    +
    + + + +
    +
    +
    +

    Dependency Information

    +

    Apache Maven

    +
    <dependency>
    +  <groupId>ru.cg.webbpm.packages.base</groupId>
    +  <artifactId>resources</artifactId>
    +  <version>3.143.0-SNAPSHOT</version>
    +</dependency>
    +

    Apache Buildr

    +
    'ru.cg.webbpm.packages.base:resources:jar:3.143.0-SNAPSHOT'
    +

    Apache Ivy

    +
    <dependency org="ru.cg.webbpm.packages.base" name="resources" rev="3.143.0-SNAPSHOT">
    +  <artifact name="resources" type="jar" />
    +</dependency>
    +

    Groovy Grape

    +
    @Grapes(
    +@Grab(group='ru.cg.webbpm.packages.base', module='resources', version='3.143.0-SNAPSHOT')
    +)
    +

    Gradle/Grails

    +
    compile 'ru.cg.webbpm.packages.base:resources:3.143.0-SNAPSHOT'
    +

    Scala SBT

    +
    libraryDependencies += "ru.cg.webbpm.packages.base" % "resources" % "3.143.0-SNAPSHOT"
    +

    Leiningen

    +
    [ru.cg.webbpm.packages.base/resources "3.143.0-SNAPSHOT"]
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependency-management.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependency-management.html new file mode 100644 index 0000000..17b9ab1 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/dependency-management.html @@ -0,0 +1,1167 @@ + + + + + + + + Web-BPM Docs – Project Dependency Management + + + + + + +
    +
    + + + +
    +
    +
    +

    Project Dependency Management

    +

    compile

    +

    The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run the submodule:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicense
    OAuth2EsiaOAuth2Esia1.1jar-
    com.fasterxml.jackson.corejackson-annotations2.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.corejackson-core2.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.corejackson-databind2.12.4jarThe Apache Software License, Version 2.0
    com.fasterxml.jackson.datatypejackson-datatype-jsr3102.12.4jarThe Apache Software License, Version 2.0
    com.github.spullara.mustache.javacompiler0.9.10jarApache License 2.0
    com.google.code.gsongson2.3.1jarThe Apache Software License, Version 2.0
    com.google.guavaguava23.4-jrejarThe Apache Software License, Version 2.0
    com.h2databaseh21.4.199jarMPL 2.0 or EPL 1.0
    com.jcabijcabi-aether0.10.1jarBSD
    com.sun.mailjavax.mail1.5.1jarCDDL/GPLv2+CE
    com.sun.xml.bindjaxb-impl2.3.3jarEclipse Distribution License - v 1.0
    commons-codeccommons-codec1.6jarThe Apache Software License, Version 2.0
    commons-configurationcommons-configuration1.10jarThe Apache Software License, Version 2.0
    commons-iocommons-io2.4jarThe Apache Software License, Version 2.0
    commons-langcommons-lang2.6jarThe Apache Software License, Version 2.0
    io.jsonwebtokenjjwt-api0.10.5jarApache License, Version 2.0
    io.jsonwebtokenjjwt-jackson0.10.5jarApache License, Version 2.0
    javax.activationactivation1.1.1jarCOMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
    javax.annotationjavax.annotation-api1.3.2jarCDDL + GPLv2 with classpath exception
    javax.mailmail1.4.7jarCDDL, GPLv2+CE
    joda-timejoda-time2.9.2jarApache 2
    mysqlmysql-connector-java8.0.25jarThe GNU General Public License, v2 with FOSS exception
    net.javacrumbs.shedlockshedlock-provider-jdbc-template0.18.2jarThe Apache Software License, Version 2.0
    net.javacrumbs.shedlockshedlock-spring0.18.2jarThe Apache Software License, Version 2.0
    org.apache.commonscommons-csv1.9.0jarApache License, Version 2.0
    org.apache.commonscommons-exec1.3jarApache License, Version 2.0
    org.apache.derbyderby10.11.1.1jarApache 2
    org.apache.mavenmaven-aether-provider3.3.9jarApache License, Version 2.0
    org.apache.poipoi4.1.2jarApache License, Version 2.0
    org.apache.poipoi-ooxml4.1.2jarApache License, Version 2.0
    org.apache.santuarioxmlsec1.5.7jarThe Apache Software License, Version 2.0
    org.apache.tikatika-core1.7jarThe Apache Software License, Version 2.0
    org.assertjassertj-core3.13.0jarApache License, Version 2.0
    org.bouncycastlebcpkix-jdk15on1.60jarBouncy Castle Licence
    org.bouncycastlebcprov-jdk15on1.60jarBouncy Castle Licence
    org.eclipse.aetheraether-api1.1.0jarEclipse Public License, Version 1.0
    org.eclipse.aetheraether-connector-basic1.1.0jarEclipse Public License, Version 1.0
    org.eclipse.aetheraether-transport-file1.1.0jarEclipse Public License, Version 1.0
    org.eclipse.aetheraether-transport-http1.1.0jarEclipse Public License, Version 1.0
    org.eclipse.jdt.core.compilerecj4.4.2jarEclipse Public License v1.0
    org.firebirdsql.jdbcjaybird4.0.3.java8jarGNU Lesser General Public License, Modified BSD (3-clause) License
    org.freemarkerfreemarker2.3.26-incubatingjarApache License, Version 2.0
    org.glassfishjavax.json1.0.4jarDual license consisting of the CDDL v1.1 and GPL v2
    org.hsqldbhsqldb2.5.2jarHSQLDB License, a BSD open source license
    org.jbossjboss-dmr1.5.0.FinaljarGNU Lesser General Public License v2.1 only, Apache License 2.0
    org.jboss.loggingjboss-logging3.3.1.FinaljarApache License, version 2.0
    org.jboss.logmanagerjboss-logmanager2.0.9.FinaljarApache License 2.0
    org.jboss.modulesjboss-modules1.5.4.Finaljarasl
    org.jboss.remotingjboss-remoting5.0.5.FinaljarApache License 2.0
    org.jboss.threadsjboss-threads2.3.1.FinaljarApache License 2.0
    org.jboss.xnioxnio-api3.6.2.FinaljarApache License 2.0
    org.jboss.xnioxnio-nio3.6.2.FinaljarApache License 2.0
    org.jbpmjbpm-bpmn27.58.0.Final-Micord-3jar-
    org.jbpmjbpm-flow7.58.0.Final-Micord-3jar-
    org.jooqjooq3.14.15jarApache License, Version 2.0
    org.jooqjooq-codegen3.14.15jarApache License, Version 2.0
    org.jooqjooq-meta3.14.15jarApache License, Version 2.0
    org.jooqjooq-meta-extensions3.14.15jarApache License, Version 2.0
    org.jooqjooq-meta-extensions-liquibase3.14.15jarApache License, Version 2.0
    org.liquibaseliquibase-core3.10.3jarApache License, Version 2.0
    org.mariadb.jdbcmariadb-java-client2.7.3jarLGPL-2.1
    org.mnode.ical4jical4j3.0.5jariCal4j - License
    org.ocpsoft.prettytimeprettytime4.0.0.FinaljarApache License
    org.postgresqlpostgresql42.5.2jarBSD-2-Clause
    org.slf4jjcl-over-slf4j1.7.10jarMIT License
    org.slf4jjul-to-slf4j1.7.10jarMIT License
    org.slf4jslf4j-api1.7.10jarMIT License
    org.slf4jslf4j-log4j121.7.10jarMIT License
    org.springframeworkspring-aop5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-aspects5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-beans5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-context5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-context-indexer5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-context-support5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-core5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-expression5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-instrument5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-jcl5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-jdbc5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-jms5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-messaging5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-orm5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-oxm5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-test5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-tx5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-web5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-webflux5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-webmvc5.2.6.RELEASEjarApache License, Version 2.0
    org.springframeworkspring-websocket5.2.6.RELEASEjarApache License, Version 2.0
    org.springframework.ldapspring-ldap-core2.3.4.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-acl5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-aspects5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-cas5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-config5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-core5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-crypto5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-data5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-jwt1.0.9.RELEASEjarApache 2.0
    org.springframework.securityspring-security-ldap5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-messaging5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-oauth2-client5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-oauth2-core5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-oauth2-jose5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-oauth2-resource-server5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-openid5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-remoting5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-rsocket5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-saml2-service-provider5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-taglibs5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-test5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.securityspring-security-web5.2.6.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.security.kerberosspring-security-kerberos-core1.0.1.RELEASEjarThe Apache Software License, Version 2.0
    org.springframework.security.kerberosspring-security-kerberos-web1.0.1.RELEASEjarThe Apache Software License, Version 2.0
    org.telegramtelegrambots6.3.0jarMIT License
    org.wildfly.clientwildfly-client-config1.0.1.FinaljarApache License 2.0
    org.wildfly.commonwildfly-common1.2.0.FinaljarApache License 2.0
    org.wildfly.corewildfly-controller-client4.0.0.FinaljarGNU Lesser General Public License v2.1 or later, Apache License 2.0
    org.wildfly.corewildfly-launcher4.0.0.FinaljarGNU Lesser General Public License v2.1 or later, Apache License 2.0
    org.wildfly.corewildfly-protocol4.0.0.FinaljarGNU Lesser General Public License v2.1 or later, Apache License 2.0
    org.wildfly.securitywildfly-elytron1.2.2.FinaljarApache License 2.0
    org.xerialsqlite-jdbc3.34.0jarThe Apache Software License, Version 2.0
    org.zeroturnaroundzt-zip1.15jarThe Apache Software License, Version 2.0
    ru.cg.webbpm.modulesstandard-annotations3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.moduleswebkit-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.moduleswebkit-rpc3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.bpmnbpmn-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.coreerror-handling-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.coremetrics3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.databasedatabase-test3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.jndijndi-beans3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.jndijndi-inject3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-adapter3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-db-synchronization-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-db-synchronization-ldap-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.securitysecurity-esia3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.packages.basebackend3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.packages.baseconverters3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.packages.basefrontend3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.basecore-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.bpmnwebbpm-process-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.databasedatabase-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.studio.subsystems.page-designerserialized-page-api3.143.0-SNAPSHOTjar-
    ru.micord.fiasclient2.24.1jar-
    ru.micord.gargar-client2.6.0jar-
    +

    runtime

    +

    The following is a list of runtime dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to run the submodule:

    + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicense
    io.jsonwebtokenjjwt-impl0.10.5jarApache License, Version 2.0
    xercesxercesImpl2.11.0jarThe Apache Software License, Version 2.0
    +

    test

    +

    The following is a list of test dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run unit tests for the submodule:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicense
    org.apache.commonscommons-email1.5jarApache License, Version 2.0
    org.hamcresthamcrest2.2jarBSD License 3
    org.junit.jupiterjunit-jupiter5.8.1jarEclipse Public License v2.0
    org.junit.platformjunit-platform-suite-engine1.8.1jarEclipse Public License v2.0
    org.mockitomockito-core3.8.0jarThe MIT License
    org.mockitomockito-inline3.8.0jarThe MIT License
    org.mockitomockito-junit-jupiter2.23.4jarThe MIT License
    org.powermockpowermock-api-mockito-common1.7.4jarThe Apache Software License, Version 2.0
    org.powermockpowermock-api-mockito22.0.9jarThe Apache Software License, Version 2.0
    org.powermockpowermock-module-junit42.0.9jarThe Apache Software License, Version 2.0
    org.springframeworkspring-mock2.0.8jarThe Apache Software License, Version 2.0
    +

    provided

    +

    The following is a list of provided dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule, but should be provided by default when using the library:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GroupIdArtifactIdVersionTypeLicense
    jakarta.xml.bindjakarta.xml.bind-api2.3.3jarEclipse Distribution License - v 1.0
    javaxjavaee-api7.0jarCDDL + GPLv2 with classpath exception
    javax.servletjavax.servlet-api3.1.0jarCDDL + GPLv2 with classpath exception
    ru.cg.webbpm.modules.bpmnbpmn-deploy3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.bpmnbpmn-variable-condition-adapter3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.bpmnbpmn-workflow-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.bpmnbpmn-workflow-jbpm3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.bpmnbpmn-workflow-jbpm-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.corecore-runtime-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.databasedatabase-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.databasedatabase-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reportingreporting-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reportingreporting-runtime-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reportingreporting-runtime-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reporting.reporting-jasperreporting-jasper-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reporting.reporting-jasperreporting-jasper-runtime-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reporting.reporting-xdocreporting-xdoc-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.reporting.reporting-xdocreporting-xdoc-runtime-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.resourcesresources-api3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.resourcesresources-impl3.143.0-SNAPSHOTjar-
    ru.cg.webbpm.modules.webkitactive-users-tracker3.143.0-SNAPSHOTjar-
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/distribution-management.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/distribution-management.html new file mode 100644 index 0000000..b89a907 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/distribution-management.html @@ -0,0 +1,54 @@ + + + + + + + + Web-BPM Docs – Project Distribution Management + + + + + + +
    +
    + + + +
    +
    +
    +

    Overview

    +

    The following is the distribution management information used by this project.

    +

    Repository - micord

    https://repo.micord.ru/repository/packages-releases-local/
    +

    Snapshot Repository - snapshots

    https://repo.micord.ru/repository/packages-snapshots-local/
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.eot b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..af587a8 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.eot differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.svg b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..4469488 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.ttf b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..8681f1e Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.ttf differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.woff b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..1e69f48 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/fonts/glyphicons-halflings-regular.woff differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/EmailHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/EmailHandler.html new file mode 100644 index 0000000..84be2ea --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/EmailHandler.html @@ -0,0 +1,105 @@ + + + + + + + + Web-BPM Docs – Назначение + + + + + + +
    +
    + + + +
    +
    +

    Назначение

    +

    Обработчик для отправки письма.

    +

    Свойства

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    smtpConfiguration Конфигурация SMTP-сервиса
    to Поле кому
    copy Поле копия
    hiddenCopy Поле скрытая копия
    subject Тема письма
    body Тело письма
    attachments Список прикрепленных файлов
    +
      + +
    1. В параметры (to, copy, hiddenCopy, subject, body) можно подставить выражение #{variableName}. Вместо данного выражения подставится значение указанное переменной. Например: в теле письма указано “Здравствуйте, #{user}. #{body}”. Созданы и заполнены переменные user=“Петров Дмитрий”, body=“На ваш счёт начислено 1 000 000 руб”. При запуске обработчика тело письма будет заменено на текст “Здравствуйте, Петров Дмитрий. На ваш счёт начислено 1 000 000 руб.”
    2. +
    3. Добавлена возможность выбора dao (стандартного графа - DefaultLoadDao, либо любого кастомного), это позволяет получить выборку нужной информации по письму, использовать полученную информацию в полях письма. Для этого: в параметры (to, copy, hiddenCopy, subject, body) подставляют выражение в виде @{table.column}, где table.column сущность и колонка из графа. Писем отправится столько, сколько будет получено в результате запроса строк. Каждой строке соответствует 1 письмо.
    4. +
    +

    Конфигурация SMTP-сервиса исходящей почты

    +

    Данная конфигурация задаётся в файле resources\src\main\resources\config\jndi-resources.xml

    +

    Для добавления новой конфигурации добавьте в тег jndi-resources строку вида:

    + +
    +
    <jndi-resource name="java:comp/env/webbpm/testResource" type="bpmn.handler.email_handler.SmtpConfiguration">
    +    {"host":"mail.cg.ru","port":587,"login":"iteco","password":"Qazar@375","from":"iteco@cg.ru","senderName":"Webbpm","isSecured":false}
    +</jndi-resource>
    +
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/JiraCreateIssueHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/JiraCreateIssueHandler.html new file mode 100644 index 0000000..62fbf76 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/JiraCreateIssueHandler.html @@ -0,0 +1,120 @@ + + + + + + + + Web-BPM Docs – Назначение + + + + + + +
    +
    + + + +
    +
    +

    Назначение

    +

    Обработчик для создания задачи в Jira.

    +

    Свойства, задаваемые аналитиком

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    projectKey Код проекта
    summary Название
    description Описание
    issueType Тип задачи
    assignee Исполнитель
    reporter Автор
    createdIssueId Переменная, в которую запишется идентификатор созданной задачи
    createdIssueKey Переменная, в которую запишется код созданной задачи
    +

    В параметры (summary, description, assignee, reporter) можно подставить выражение #{variableName}. Вместо данного выражения подставится значение указанное переменной.

    +

    Свойства, задаваемые на сервере приложений

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    webbpm.jira.url Jira REST API URL. Например - https://jira.micord.ru/rest/api/2/issue/
    webbpm.jira.username
    webbpm.jira.password
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/RESTHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/RESTHandler.html new file mode 100644 index 0000000..d135870 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/RESTHandler.html @@ -0,0 +1,100 @@ + + + + + + + + Web-BPM Docs – Назначение + + + + + + +
    +
    + + + +
    +
    +

    Назначение

    +

    Обработчик для отправки REST запроса с помощью JSON.

    +

    Свойства

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    Authentication Type Тип аутентификации: NONE/BASIC
    URL URL запроса.
    Method Метод. Один из списка: GET, POST, PUT, DELETE
    Request body type Один из списка: OBJECT, ARRAY, MANUAL.
    OBJECT - в данном режиме можно заполнить массив значений в формате ключ/значение. Например {"A": 1, "B": 2, "C": 3}
    ARRAY - в данном режиме можно заполнить массив значений. Например {"A", "B", "C"}
    MANUAL - в данном режиме можно ввести произвольный JSON.
    Headers Заголовки запроса
    Cookies Cookies запроса.
    Result Результат запроса.
    Sub results Частичный результат. С помощью данного параметра можно сохранить из ответа значение параметра, указанное в качестве ключа.
    timeout Таймаут ожидания ответа в секундах
    +

    В параметры (URL, Headers, Cookies, Request body type) можно подставить выражение #{variableName}. Вместо данного выражения подставится значение указанное переменной.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/SetVariableHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/SetVariableHandler.html new file mode 100644 index 0000000..91418ab --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/SetVariableHandler.html @@ -0,0 +1,73 @@ + + + + + + + + Web-BPM Docs – SetVariableHandler + + + + + + +
    +
    + + + +
    +
    +

    SetVariableHandler

    +

    Назначение

    +

    Задание значения(ий) переменной(ым) процесса.

    +

    Свойства

    + + + + + + + + + + + + + + +
    Наименование Тип свойства Назначение
    mapping VariableWithValue[] список переменных процесса
    +

    Интерфейс пользователя

    +

    Значение переменной не пусто

    +

    non empty value

    +

    Значение не задано

    +

    null value

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/SqlAttachmentsEmailHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/SqlAttachmentsEmailHandler.html new file mode 100644 index 0000000..fa67fc6 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/SqlAttachmentsEmailHandler.html @@ -0,0 +1,75 @@ + + + + + + + + Web-BPM Docs – Назначение + + + + + + +
    +
    + + + +
    +
    +

    Назначение

    +

    Является наследником EmailHandler-а, с дополнительным функционалом: прикреплять файлы можно при помощи подгрузки из базы.

    +

    Свойства

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    dao DefaultLoadDao (граф сущности)
    fileNameColumn Колонка из графа сущности с именем файла
    fileContentColumn Колонка из графа сущности с содержимым файла
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/Telegram.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/Telegram.html new file mode 100644 index 0000000..b6b5b11 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/Telegram.html @@ -0,0 +1,96 @@ + + + + + + + + Web-BPM Docs – Назначение + + + + + + +
    +
    + + + +
    +
    +

    Назначение

    +

    Отправка сообщений в чат Telegram.

    +

    Свойства, задаваемые аналитиком

    + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    chatId Идентификатор чата
    message Сообщение
    +

    В параметр message можно подставить выражение #{variableName}. Вместо данного выражения подставится значение указанное переменной.

    +

    Свойства, задаваемые на сервере приложений

    + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Назначение Значение по умолчанию
    telegram.bot.token The token is a string, like 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw, which is required to authorize the bot and send requests to the Bot API. как создать Bot см. тут https://core.telegram.org/bots/features#creating-a-new-bot
    telegram.bot.name The username is a short name, used in search, mentions and t.me links. Usernames are 5-32 characters long and not case sensitive – but may only include Latin characters, numbers, and underscores. Your bot’s username must end in ’bot’, like ‘tetris_bot’ or ‘TetrisBot’.
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/UserAuthorityHandler.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/UserAuthorityHandler.html new file mode 100644 index 0000000..4974aa0 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/UserAuthorityHandler.html @@ -0,0 +1,119 @@ + + + + + + + + Web-BPM Docs – Назначение + + + + + + +
    +
    + + + +
    +
    +

    Назначение

    +

    Кастомный обработчик, который выбирается в Web-BPM Task. При выполнении этого обработчика происходит сохранение данных пользователя в переменные процесса, также в булавы переменные процесса могут быть сохранены значения, соответствующие наличию у пользователя тех или иных ролей/групп.

    +

    Свойства

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Наименование Тип свойства Тип значения переменной Назначение
    login BpmnVariable String переменная процесса, в которую будет сохранен логин пользователя
    userFio BpmnVariable String переменная процесса, в которую будет сохранено ФИО пользователя
    firstName BpmnVariable String переменная процесса, в которую будет сохранено имя пользователя
    lastName BpmnVariable String переменная процесса, в которую будет сохранена фамилия пользователя
    middleName BpmnVariable String переменная процесса, в которую будет сохранено отчество пользователя
    orgName BpmnVariable String переменная процесса, в которую будет сохранено наименование организации пользователя
    orgCode BpmnVariable String переменная процесса, в которую будет сохранено код организации пользователя
    userGroups BpmnVariable Collection<String> переменная процесса, в которую будет сохранен список групп пользователя
    userRoles BpmnVariable Collection<String> переменная процесса, в которую будет сохранен список ролей пользователя
    hasRoleVariables Collection<UserHasPropertyVariable> Boolean Тип UserHasPropertyVariable представляет собой объект, в котором есть свойства: variable - переменная процесса, в которую будет сохранено вычисленное булево значение valueForMatching - строка, которая будет использоваться для сравнения. Например, если список ролей/групп пользователя содержит в себе значение из поля ‘valueForMatching’, то в переменную, указанную в поле ‘variable’, будет сохранено true, иначе - false. Используется для проверки наличия ролей (hasRoleVariables) и групп (hasGroupVariables)
    hasGroupVariables Collection<UserHasPropertyVariable> Boolean
    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/index.html new file mode 100644 index 0000000..f4d6580 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/handlers/index.html @@ -0,0 +1,60 @@ + + + + + + + + Web-BPM Docs – Обработчики + + + + + + +
    +
    + + + +
    +
    +

    Обработчики

    + +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/accessories-text-editor.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/accessories-text-editor.png new file mode 100644 index 0000000..abc3366 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/accessories-text-editor.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/add.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/add.gif new file mode 100644 index 0000000..1cb3dbf Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/add.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/apache-maven-project-2.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/apache-maven-project-2.png new file mode 100644 index 0000000..a44db6e Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/apache-maven-project-2.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/application-certificate.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/application-certificate.png new file mode 100644 index 0000000..cc6aff6 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/application-certificate.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/close.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/close.gif new file mode 100644 index 0000000..1c26bbc Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/close.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/contact-new.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/contact-new.png new file mode 100644 index 0000000..ebc4316 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/contact-new.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/document-properties.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/document-properties.png new file mode 100644 index 0000000..34c2409 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/document-properties.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/drive-harddisk.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/drive-harddisk.png new file mode 100644 index 0000000..d7ce475 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/drive-harddisk.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/fix.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/fix.gif new file mode 100644 index 0000000..b7eb3dc Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/fix.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_error_sml.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_error_sml.gif new file mode 100644 index 0000000..12e9a01 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_error_sml.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_help_sml.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_help_sml.gif new file mode 100644 index 0000000..aaf20e6 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_help_sml.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_info_sml.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_info_sml.gif new file mode 100644 index 0000000..b776326 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_info_sml.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_success_sml.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_success_sml.gif new file mode 100644 index 0000000..0a19527 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_success_sml.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_warning_sml.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_warning_sml.gif new file mode 100644 index 0000000..ac6ad6a Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/icon_warning_sml.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/image-x-generic.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/image-x-generic.png new file mode 100644 index 0000000..ab49efb Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/image-x-generic.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/internet-web-browser.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/internet-web-browser.png new file mode 100644 index 0000000..307d6ac Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/internet-web-browser.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/build-by-maven-black.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/build-by-maven-black.png new file mode 100644 index 0000000..919fd0f Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/build-by-maven-black.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/build-by-maven-white.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/build-by-maven-white.png new file mode 100644 index 0000000..7d44c9c Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/build-by-maven-white.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/maven-feather.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/maven-feather.png new file mode 100644 index 0000000..b5ada83 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/logos/maven-feather.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/network-server.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/network-server.png new file mode 100644 index 0000000..1d12e19 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/network-server.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/package-x-generic.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/package-x-generic.png new file mode 100644 index 0000000..8b7e9e6 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/package-x-generic.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/pre-release.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/pre-release.png new file mode 100644 index 0000000..d448e85 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/pre-release.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/retired.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/retired.png new file mode 100644 index 0000000..f89f6a2 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/retired.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/sandbox.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/sandbox.png new file mode 100644 index 0000000..f88b362 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/profiles/sandbox.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/remove.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/remove.gif new file mode 100644 index 0000000..fc65631 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/remove.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/rss.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/rss.png new file mode 100644 index 0000000..a9850ee Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/rss.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/update.gif b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/update.gif new file mode 100644 index 0000000..b2a6d0b Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/update.gif differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/window-new.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/window-new.png new file mode 100644 index 0000000..0e12ef9 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/images/window-new.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/img/glyphicons-halflings-white.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/img/glyphicons-halflings-white.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/img/glyphicons-halflings.png b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/img/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/img/glyphicons-halflings.png differ diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/index.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/index.html new file mode 100644 index 0000000..286d602 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/index.html @@ -0,0 +1,52 @@ + + + + + + + + Web-BPM Docs – About + + + + + + +
    +
    + + + +
    +
    +
    +

    About resources

    +

    There is currently no description associated with this project.

    +
    +
    +
    +
    +
    +
    +

    © 2023 +Micord +

    +
    +

    Built by Maven +

    +
    +
    + + diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/js/apache-maven-fluido-1.9.min.js b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/js/apache-maven-fluido-1.9.min.js new file mode 100644 index 0000000..1324fb4 --- /dev/null +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/js/apache-maven-fluido-1.9.min.js @@ -0,0 +1,25 @@ +/*! + * jQuery JavaScript Library v1.11.2 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-12-17T15:27Z + */ +(function(b,a){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=b.document?a(b,true):function(c){if(!c.document){throw new Error("jQuery requires a window with a document")}return a(c)}}else{a(b)}}(typeof window!=="undefined"?window:this,function(a5,av){var aP=[];var P=aP.slice;var az=aP.concat;var x=aP.push;var bU=aP.indexOf;var ac={};var y=ac.toString;var K=ac.hasOwnProperty;var D={};var ai="1.11.2",bI=function(e,i){return new bI.fn.init(e,i)},E=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bS=/^-ms-/,aW=/-([\da-z])/gi,O=function(e,i){return i.toUpperCase()};bI.fn=bI.prototype={jquery:ai,constructor:bI,selector:"",length:0,toArray:function(){return P.call(this)},get:function(e){return e!=null?(e<0?this[e+this.length]:this[e]):P.call(this)},pushStack:function(e){var i=bI.merge(this.constructor(),e);i.prevObject=this;i.context=this.context;return i},each:function(i,e){return bI.each(this,i,e)},map:function(e){return this.pushStack(bI.map(this,function(b7,b6){return e.call(b7,b6,b7)}))},slice:function(){return this.pushStack(P.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b7){var e=this.length,b6=+b7+(b7<0?e:0);return this.pushStack(b6>=0&&b6=0},isEmptyObject:function(i){var e;for(e in i){return false}return true},isPlainObject:function(b7){var i;if(!b7||bI.type(b7)!=="object"||b7.nodeType||bI.isWindow(b7)){return false}try{if(b7.constructor&&!K.call(b7,"constructor")&&!K.call(b7.constructor.prototype,"isPrototypeOf")){return false}}catch(b6){return false}if(D.ownLast){for(i in b7){return K.call(b7,i)}}for(i in b7){}return i===undefined||K.call(b7,i)},type:function(e){if(e==null){return e+""}return typeof e==="object"||typeof e==="function"?ac[y.call(e)]||"object":typeof e},globalEval:function(e){if(e&&bI.trim(e)){(a5.execScript||function(i){a5["eval"].call(a5,i)})(e)}},camelCase:function(e){return e.replace(bS,"ms-").replace(aW,O)},nodeName:function(i,e){return i.nodeName&&i.nodeName.toLowerCase()===e.toLowerCase()},each:function(ca,cb,b6){var b9,b7=0,b8=ca.length,e=ad(ca);if(b6){if(e){for(;b70&&(i-1) in b6}var m= +/*! + * Sizzle CSS Selector Engine v2.2.0-pre + * http://sizzlejs.com/ + * + * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-12-16 + */ +(function(de){var cy,dh,cn,cH,cK,ci,cW,dg,dm,cI,cX,cZ,cC,co,c8,c3,df,ce,cF,da="sizzle"+1*new Date(),cJ=de.document,di=0,c4=0,b9=cA(),c9=cA(),cG=cA(),cE=function(i,e){if(i===e){cX=true}return 0},cQ=1<<31,cO=({}).hasOwnProperty,dc=[],dd=dc.pop,cM=dc.push,b7=dc.push,cm=dc.slice,cd=function(dq,dp){var dn=0,e=dq.length;for(;dn+~]|"+cp+")"+cp+"*"),ct=new RegExp("="+cp+"*([^\\]'\"]*?)"+cp+"*\\]","g"),cS=new RegExp(ck),cU=new RegExp("^"+cL+"$"),c2={ID:new RegExp("^#("+b6+")"),CLASS:new RegExp("^\\.("+b6+")"),TAG:new RegExp("^("+b6.replace("w","w*")+")"),ATTR:new RegExp("^"+c6),PSEUDO:new RegExp("^"+ck),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cp+"*(even|odd|(([+-]|)(\\d*)n|)"+cp+"*(?:([+-]|)"+cp+"*(\\d+)|))"+cp+"*\\)|)","i"),bool:new RegExp("^(?:"+b8+")$","i"),needsContext:new RegExp("^"+cp+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cp+"*((?:-\\d)?\\d*)"+cp+"*\\)|)(?=[^-]|$)","i")},cc=/^(?:input|select|textarea|button)$/i,cl=/^h\d$/i,cP=/^[^{]+\{\s*\[native \w/,cR=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,c1=/[+~]/,cN=/'|\\/g,cs=new RegExp("\\\\([\\da-f]{1,6}"+cp+"?|("+cp+")|.)","ig"),c5=function(e,dp,i){var dn="0x"+dp-65536;return dn!==dn||i?dp:dn<0?String.fromCharCode(dn+65536):String.fromCharCode(dn>>10|55296,dn&1023|56320)},dl=function(){cZ()};try{b7.apply((dc=cm.call(cJ.childNodes)),cJ.childNodes);dc[cJ.childNodes.length].nodeType}catch(cD){b7={apply:dc.length?function(i,e){cM.apply(i,cm.call(e))}:function(dq,dp){var e=dq.length,dn=0;while((dq[e++]=dp[dn++])){}dq.length=e-1}}}function cw(dv,dn,dz,dB){var dA,ds,dt,dx,dy,dr,dq,e,dp,dw;if((dn?dn.ownerDocument||dn:cJ)!==cC){cZ(dn)}dn=dn||cC;dz=dz||[];dx=dn.nodeType;if(typeof dv!=="string"||!dv||dx!==1&&dx!==9&&dx!==11){return dz}if(!dB&&c8){if(dx!==11&&(dA=cR.exec(dv))){if((dt=dA[1])){if(dx===9){ds=dn.getElementById(dt);if(ds&&ds.parentNode){if(ds.id===dt){dz.push(ds);return dz}}else{return dz}}else{if(dn.ownerDocument&&(ds=dn.ownerDocument.getElementById(dt))&&cF(dn,ds)&&ds.id===dt){dz.push(ds);return dz}}}else{if(dA[2]){b7.apply(dz,dn.getElementsByTagName(dv));return dz}else{if((dt=dA[3])&&dh.getElementsByClassName){b7.apply(dz,dn.getElementsByClassName(dt));return dz}}}}if(dh.qsa&&(!c3||!c3.test(dv))){e=dq=da;dp=dn;dw=dx!==1&&dv;if(dx===1&&dn.nodeName.toLowerCase()!=="object"){dr=ci(dv);if((dq=dn.getAttribute("id"))){e=dq.replace(cN,"\\$&")}else{dn.setAttribute("id",e)}e="[id='"+e+"'] ";dy=dr.length;while(dy--){dr[dy]=e+ch(dr[dy])}dp=c1.test(dv)&&cT(dn.parentNode)||dn;dw=dr.join(",")}if(dw){try{b7.apply(dz,dp.querySelectorAll(dw));return dz}catch(du){}finally{if(!dq){dn.removeAttribute("id")}}}}}return dg(dv.replace(cr,"$1"),dn,dz,dB)}function cA(){var i=[];function e(dn,dp){if(i.push(dn+" ")>cn.cacheLength){delete e[i.shift()]}return(e[dn+" "]=dp)}return e}function cj(e){e[da]=true;return e}function cf(i){var dp=cC.createElement("div");try{return !!i(dp)}catch(dn){return false}finally{if(dp.parentNode){dp.parentNode.removeChild(dp)}dp=null}}function dj(dn,dq){var e=dn.split("|"),dp=dn.length;while(dp--){cn.attrHandle[e[dp]]=dq}}function ca(i,e){var dp=e&&i,dn=dp&&i.nodeType===1&&e.nodeType===1&&(~e.sourceIndex||cQ)-(~i.sourceIndex||cQ);if(dn){return dn}if(dp){while((dp=dp.nextSibling)){if(dp===e){return -1}}}return i?1:-1}function cx(e){return function(dn){var i=dn.nodeName.toLowerCase();return i==="input"&&dn.type===e}}function cb(e){return function(dn){var i=dn.nodeName.toLowerCase();return(i==="input"||i==="button")&&dn.type===e}}function c7(e){return cj(function(i){i=+i;return cj(function(dn,ds){var dq,dp=e([],dn.length,i),dr=dp.length;while(dr--){if(dn[(dq=dp[dr])]){dn[dq]=!(ds[dq]=dn[dq])}}})})}function cT(e){return e&&typeof e.getElementsByTagName!=="undefined"&&e}dh=cw.support={};cK=cw.isXML=function(e){var i=e&&(e.ownerDocument||e).documentElement;return i?i.nodeName!=="HTML":false};cZ=cw.setDocument=function(dn){var e,i,dp=dn?dn.ownerDocument||dn:cJ;if(dp===cC||dp.nodeType!==9||!dp.documentElement){return cC}cC=dp;co=dp.documentElement;i=dp.defaultView;if(i&&i!==i.top){if(i.addEventListener){i.addEventListener("unload",dl,false)}else{if(i.attachEvent){i.attachEvent("onunload",dl)}}}c8=!cK(dp);dh.attributes=cf(function(dq){dq.className="i";return !dq.getAttribute("className")});dh.getElementsByTagName=cf(function(dq){dq.appendChild(dp.createComment(""));return !dq.getElementsByTagName("*").length});dh.getElementsByClassName=cP.test(dp.getElementsByClassName);dh.getById=cf(function(dq){co.appendChild(dq).id=da;return !dp.getElementsByName||!dp.getElementsByName(da).length});if(dh.getById){cn.find.ID=function(ds,dr){if(typeof dr.getElementById!=="undefined"&&c8){var dq=dr.getElementById(ds);return dq&&dq.parentNode?[dq]:[]}};cn.filter.ID=function(dr){var dq=dr.replace(cs,c5);return function(ds){return ds.getAttribute("id")===dq}}}else{delete cn.find.ID;cn.filter.ID=function(dr){var dq=dr.replace(cs,c5);return function(dt){var ds=typeof dt.getAttributeNode!=="undefined"&&dt.getAttributeNode("id");return ds&&ds.value===dq}}}cn.find.TAG=dh.getElementsByTagName?function(dq,dr){if(typeof dr.getElementsByTagName!=="undefined"){return dr.getElementsByTagName(dq)}else{if(dh.qsa){return dr.querySelectorAll(dq)}}}:function(dq,du){var dv,dt=[],ds=0,dr=du.getElementsByTagName(dq);if(dq==="*"){while((dv=dr[ds++])){if(dv.nodeType===1){dt.push(dv)}}return dt}return dr};cn.find.CLASS=dh.getElementsByClassName&&function(dr,dq){if(c8){return dq.getElementsByClassName(dr)}};df=[];c3=[];if((dh.qsa=cP.test(dp.querySelectorAll))){cf(function(dq){co.appendChild(dq).innerHTML="";if(dq.querySelectorAll("[msallowcapture^='']").length){c3.push("[*^$]="+cp+"*(?:''|\"\")")}if(!dq.querySelectorAll("[selected]").length){c3.push("\\["+cp+"*(?:value|"+b8+")")}if(!dq.querySelectorAll("[id~="+da+"-]").length){c3.push("~=")}if(!dq.querySelectorAll(":checked").length){c3.push(":checked")}if(!dq.querySelectorAll("a#"+da+"+*").length){c3.push(".#.+[+~]")}});cf(function(dr){var dq=dp.createElement("input");dq.setAttribute("type","hidden");dr.appendChild(dq).setAttribute("name","D");if(dr.querySelectorAll("[name=d]").length){c3.push("name"+cp+"*[*^$|!~]?=")}if(!dr.querySelectorAll(":enabled").length){c3.push(":enabled",":disabled")}dr.querySelectorAll("*,:x");c3.push(",.*:")})}if((dh.matchesSelector=cP.test((ce=co.matches||co.webkitMatchesSelector||co.mozMatchesSelector||co.oMatchesSelector||co.msMatchesSelector)))){cf(function(dq){dh.disconnectedMatch=ce.call(dq,"div");ce.call(dq,"[s!='']:x");df.push("!=",ck)})}c3=c3.length&&new RegExp(c3.join("|"));df=df.length&&new RegExp(df.join("|"));e=cP.test(co.compareDocumentPosition);cF=e||cP.test(co.contains)?function(dr,dq){var dt=dr.nodeType===9?dr.documentElement:dr,ds=dq&&dq.parentNode;return dr===ds||!!(ds&&ds.nodeType===1&&(dt.contains?dt.contains(ds):dr.compareDocumentPosition&&dr.compareDocumentPosition(ds)&16))}:function(dr,dq){if(dq){while((dq=dq.parentNode)){if(dq===dr){return true}}}return false};cE=e?function(dr,dq){if(dr===dq){cX=true;return 0}var ds=!dr.compareDocumentPosition-!dq.compareDocumentPosition;if(ds){return ds}ds=(dr.ownerDocument||dr)===(dq.ownerDocument||dq)?dr.compareDocumentPosition(dq):1;if(ds&1||(!dh.sortDetached&&dq.compareDocumentPosition(dr)===ds)){if(dr===dp||dr.ownerDocument===cJ&&cF(cJ,dr)){return -1}if(dq===dp||dq.ownerDocument===cJ&&cF(cJ,dq)){return 1}return cI?(cd(cI,dr)-cd(cI,dq)):0}return ds&4?-1:1}:function(dr,dq){if(dr===dq){cX=true;return 0}var dx,du=0,dw=dr.parentNode,dt=dq.parentNode,ds=[dr],dv=[dq];if(!dw||!dt){return dr===dp?-1:dq===dp?1:dw?-1:dt?1:cI?(cd(cI,dr)-cd(cI,dq)):0}else{if(dw===dt){return ca(dr,dq)}}dx=dr;while((dx=dx.parentNode)){ds.unshift(dx)}dx=dq;while((dx=dx.parentNode)){dv.unshift(dx)}while(ds[du]===dv[du]){du++}return du?ca(ds[du],dv[du]):ds[du]===cJ?-1:dv[du]===cJ?1:0};return dp};cw.matches=function(i,e){return cw(i,null,null,e)};cw.matchesSelector=function(dn,dq){if((dn.ownerDocument||dn)!==cC){cZ(dn)}dq=dq.replace(ct,"='$1']");if(dh.matchesSelector&&c8&&(!df||!df.test(dq))&&(!c3||!c3.test(dq))){try{var i=ce.call(dn,dq);if(i||dh.disconnectedMatch||dn.document&&dn.document.nodeType!==11){return i}}catch(dp){}}return cw(dq,cC,null,[dn]).length>0};cw.contains=function(e,i){if((e.ownerDocument||e)!==cC){cZ(e)}return cF(e,i)};cw.attr=function(dn,e){if((dn.ownerDocument||dn)!==cC){cZ(dn)}var i=cn.attrHandle[e.toLowerCase()],dp=i&&cO.call(cn.attrHandle,e.toLowerCase())?i(dn,e,!c8):undefined;return dp!==undefined?dp:dh.attributes||!c8?dn.getAttribute(e):(dp=dn.getAttributeNode(e))&&dp.specified?dp.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dp){var dq,dr=[],e=0,dn=0;cX=!dh.detectDuplicates;cI=!dh.sortStable&&dp.slice(0);dp.sort(cE);if(cX){while((dq=dp[dn++])){if(dq===dp[dn]){e=dr.push(dn)}}while(e--){dp.splice(dr[e],1)}}cI=null;return dp};cH=cw.getText=function(dr){var dq,dn="",dp=0,e=dr.nodeType;if(!e){while((dq=dr[dp++])){dn+=cH(dq)}}else{if(e===1||e===9||e===11){if(typeof dr.textContent==="string"){return dr.textContent}else{for(dr=dr.firstChild;dr;dr=dr.nextSibling){dn+=cH(dr)}}}else{if(e===3||e===4){return dr.nodeValue}}}return dn};cn=cw.selectors={cacheLength:50,createPseudo:cj,match:c2,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(cs,c5);e[3]=(e[3]||e[4]||e[5]||"").replace(cs,c5);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(i){var e,dn=!i[6]&&i[2];if(c2.CHILD.test(i[0])){return null}if(i[3]){i[2]=i[4]||i[5]||""}else{if(dn&&cS.test(dn)&&(e=ci(dn,true))&&(e=dn.indexOf(")",dn.length-e)-dn.length)){i[0]=i[0].slice(0,e);i[2]=dn.slice(0,e)}}return i.slice(0,3)}},filter:{TAG:function(i){var e=i.replace(cs,c5).toLowerCase();return i==="*"?function(){return true}:function(dn){return dn.nodeName&&dn.nodeName.toLowerCase()===e}},CLASS:function(e){var i=b9[e+" "];return i||(i=new RegExp("(^|"+cp+")"+e+"("+cp+"|$)"))&&b9(e,function(dn){return i.test(typeof dn.className==="string"&&dn.className||typeof dn.getAttribute!=="undefined"&&dn.getAttribute("class")||"")})},ATTR:function(dn,i,e){return function(dq){var dp=cw.attr(dq,dn);if(dp==null){return i==="!="}if(!i){return true}dp+="";return i==="="?dp===e:i==="!="?dp!==e:i==="^="?e&&dp.indexOf(e)===0:i==="*="?e&&dp.indexOf(e)>-1:i==="$="?e&&dp.slice(-e.length)===e:i==="~="?(" "+dp.replace(cu," ")+" ").indexOf(e)>-1:i==="|="?dp===e||dp.slice(0,e.length+1)===e+"-":false}},CHILD:function(i,dq,dp,dr,dn){var dt=i.slice(0,3)!=="nth",e=i.slice(-4)!=="last",ds=dq==="of-type";return dr===1&&dn===0?function(du){return !!du.parentNode}:function(dA,dy,dD){var du,dG,dB,dF,dC,dx,dz=dt!==e?"nextSibling":"previousSibling",dE=dA.parentNode,dw=ds&&dA.nodeName.toLowerCase(),dv=!dD&&!ds;if(dE){if(dt){while(dz){dB=dA;while((dB=dB[dz])){if(ds?dB.nodeName.toLowerCase()===dw:dB.nodeType===1){return false}}dx=dz=i==="only"&&!dx&&"nextSibling"}return true}dx=[e?dE.firstChild:dE.lastChild];if(e&&dv){dG=dE[da]||(dE[da]={});du=dG[i]||[];dC=du[0]===di&&du[1];dF=du[0]===di&&du[2];dB=dC&&dE.childNodes[dC];while((dB=++dC&&dB&&dB[dz]||(dF=dC=0)||dx.pop())){if(dB.nodeType===1&&++dF&&dB===dA){dG[i]=[di,dC,dF];break}}}else{if(dv&&(du=(dA[da]||(dA[da]={}))[i])&&du[0]===di){dF=du[1]}else{while((dB=++dC&&dB&&dB[dz]||(dF=dC=0)||dx.pop())){if((ds?dB.nodeName.toLowerCase()===dw:dB.nodeType===1)&&++dF){if(dv){(dB[da]||(dB[da]={}))[i]=[di,dF]}if(dB===dA){break}}}}}dF-=dn;return dF===dr||(dF%dr===0&&dF/dr>=0)}}},PSEUDO:function(dp,dn){var e,i=cn.pseudos[dp]||cn.setFilters[dp.toLowerCase()]||cw.error("unsupported pseudo: "+dp);if(i[da]){return i(dn)}if(i.length>1){e=[dp,dp,"",dn];return cn.setFilters.hasOwnProperty(dp.toLowerCase())?cj(function(ds,du){var dr,dq=i(ds,dn),dt=dq.length;while(dt--){dr=cd(ds,dq[dt]);ds[dr]=!(du[dr]=dq[dt])}}):function(dq){return i(dq,0,e)}}return i}},pseudos:{not:cj(function(e){var i=[],dn=[],dp=cW(e.replace(cr,"$1"));return dp[da]?cj(function(dr,dw,du,ds){var dv,dq=dp(dr,null,ds,[]),dt=dr.length;while(dt--){if((dv=dq[dt])){dr[dt]=!(dw[dt]=dv)}}}):function(ds,dr,dq){i[0]=ds;dp(i,null,dq,dn);i[0]=null;return !dn.pop()}}),has:cj(function(e){return function(i){return cw(e,i).length>0}}),contains:cj(function(e){e=e.replace(cs,c5);return function(i){return(i.textContent||i.innerText||cH(i)).indexOf(e)>-1}}),lang:cj(function(e){if(!cU.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(cs,c5).toLowerCase();return function(dn){var i;do{if((i=c8?dn.lang:dn.getAttribute("xml:lang")||dn.getAttribute("lang"))){i=i.toLowerCase();return i===e||i.indexOf(e+"-")===0}}while((dn=dn.parentNode)&&dn.nodeType===1);return false}}),target:function(e){var i=de.location&&de.location.hash;return i&&i.slice(1)===e.id},root:function(e){return e===co},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var i=e.nodeName.toLowerCase();return(i==="input"&&!!e.checked)||(i==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeType<6){return false}}return true},parent:function(e){return !cn.pseudos.empty(e)},header:function(e){return cl.test(e.nodeName)},input:function(e){return cc.test(e.nodeName)},button:function(i){var e=i.nodeName.toLowerCase();return e==="input"&&i.type==="button"||e==="button"},text:function(i){var e;return i.nodeName.toLowerCase()==="input"&&i.type==="text"&&((e=i.getAttribute("type"))==null||e.toLowerCase()==="text")},first:c7(function(){return[0]}),last:c7(function(e,i){return[i-1]}),eq:c7(function(e,dn,i){return[i<0?i+dn:i]}),even:c7(function(e,dp){var dn=0;for(;dn=0;){e.push(dn)}return e}),gt:c7(function(e,dq,dp){var dn=dp<0?dp+dq:dp;for(;++dn1?function(dr,dq,dn){var dp=e.length;while(dp--){if(!e[dp](dr,dq,dn)){return false}}return true}:e[0]}function cz(dn,dr,dq){var dp=0,e=dr.length;for(;dp-1){dC[dE]=!(dz[dE]=dw)}}}}else{dy=c0(dy===dz?dy.splice(dt,dy.length):dy);if(dr){dr(null,dz,dy,dB)}else{b7.apply(dz,dy)}}})}function db(dt){var dn,dr,dp,ds=dt.length,dw=cn.relative[dt[0].type],dx=dw||cn.relative[" "],dq=dw?1:0,du=cq(function(i){return i===dn},dx,true),dv=cq(function(i){return cd(dn,i)>-1},dx,true),e=[function(dA,dz,dy){var i=(!dw&&(dy||dz!==dm))||((dn=dz).nodeType?du(dA,dz,dy):dv(dA,dz,dy));dn=null;return i}];for(;dq1&&dk(e),dq>1&&ch(dt.slice(0,dq-1).concat({value:dt[dq-2].type===" "?"*":""})).replace(cr,"$1"),dr,dq0,dq=dp.length>0,i=function(dA,du,dz,dy,dD){var dv,dw,dB,dF=0,dx="0",dr=dA&&[],dG=[],dE=dm,dt=dA||dq&&cn.find.TAG("*",dD),ds=(di+=dE==null?1:Math.random()||0.1),dC=dt.length;if(dD){dm=du!==cC&&du}for(;dx!==dC&&(dv=dt[dx])!=null;dx++){if(dq&&dv){dw=0;while((dB=dp[dw++])){if(dB(dv,du,dz)){dy.push(dv);break}}if(dD){di=ds}}if(e){if((dv=!dB&&dv)){dF--}if(dA){dr.push(dv)}}}dF+=dx;if(e&&dx!==dF){dw=0;while((dB=dn[dw++])){dB(dr,dG,du,dz)}if(dA){if(dF>0){while(dx--){if(!(dr[dx]||dG[dx])){dG[dx]=dd.call(dy)}}}dG=c0(dG)}b7.apply(dy,dG);if(dD&&!dA&&dG.length>0&&(dF+dn.length)>1){cw.uniqueSort(dy)}}if(dD){di=ds;dm=dE}return dr};return e?cj(i):i}cW=cw.compile=function(e,dp){var dq,dn=[],ds=[],dr=cG[e+" "];if(!dr){if(!dp){dp=ci(e)}dq=dp.length;while(dq--){dr=db(dp[dq]);if(dr[da]){dn.push(dr)}else{ds.push(dr)}}dr=cG(e,cY(ds,dn));dr.selector=e}return dr};dg=cw.select=function(dp,e,dq,dt){var dr,dw,dn,dx,du,dv=typeof dp==="function"&&dp,ds=!dt&&ci((dp=dv.selector||dp));dq=dq||[];if(ds.length===1){dw=ds[0]=ds[0].slice(0);if(dw.length>2&&(dn=dw[0]).type==="ID"&&dh.getById&&e.nodeType===9&&c8&&cn.relative[dw[1].type]){e=(cn.find.ID(dn.matches[0].replace(cs,c5),e)||[])[0];if(!e){return dq}else{if(dv){e=e.parentNode}}dp=dp.slice(dw.shift().value.length)}dr=c2.needsContext.test(dp)?0:dw.length;while(dr--){dn=dw[dr];if(cn.relative[(dx=dn.type)]){break}if((du=cn.find[dx])){if((dt=du(dn.matches[0].replace(cs,c5),c1.test(dw[0].type)&&cT(e.parentNode)||e))){dw.splice(dr,1);dp=dt.length&&ch(dw);if(!dp){b7.apply(dq,dt);return dq}break}}}}(dv||cW(dp,ds))(dt,e,!c8,dq,c1.test(dp)&&cT(e.parentNode)||e);return dq};dh.sortStable=da.split("").sort(cE).join("")===da;dh.detectDuplicates=!!cX;cZ();dh.sortDetached=cf(function(e){return e.compareDocumentPosition(cC.createElement("div"))&1});if(!cf(function(e){e.innerHTML="";return e.firstChild.getAttribute("href")==="#"})){dj("type|href|height|width",function(i,e,dn){if(!dn){return i.getAttribute(e,e.toLowerCase()==="type"?1:2)}})}if(!dh.attributes||!cf(function(e){e.innerHTML="";e.firstChild.setAttribute("value","");return e.firstChild.getAttribute("value")===""})){dj("value",function(i,e,dn){if(!dn&&i.nodeName.toLowerCase()==="input"){return i.defaultValue}})}if(!cf(function(e){return e.getAttribute("disabled")==null})){dj(b8,function(i,e,dp){var dn;if(!dp){return i[e]===true?e.toLowerCase():(dn=i.getAttributeNode(e))&&dn.specified?dn.value:null}})}return cw})(a5);bI.find=m;bI.expr=m.selectors;bI.expr[":"]=bI.expr.pseudos;bI.unique=m.uniqueSort;bI.text=m.getText;bI.isXMLDoc=m.isXML;bI.contains=m.contains;var A=bI.expr.match.needsContext;var a=(/^<(\w+)\s*\/?>(?:<\/\1>|)$/);var aL=/^.[^:#\[\.,]*$/;function aR(b6,e,i){if(bI.isFunction(e)){return bI.grep(b6,function(b8,b7){return !!e.call(b8,b7,b8)!==i})}if(e.nodeType){return bI.grep(b6,function(b7){return(b7===e)!==i})}if(typeof e==="string"){if(aL.test(e)){return bI.filter(e,b6,i)}e=bI.filter(e,b6)}return bI.grep(b6,function(b7){return(bI.inArray(b7,e)>=0)!==i})}bI.filter=function(b7,e,b6){var i=e[0];if(b6){b7=":not("+b7+")"}return e.length===1&&i.nodeType===1?bI.find.matchesSelector(i,b7)?[i]:[]:bI.find.matches(b7,bI.grep(e,function(b8){return b8.nodeType===1}))};bI.fn.extend({find:function(b6){var b9,b8=[],b7=this,e=b7.length;if(typeof b6!=="string"){return this.pushStack(bI(b6).filter(function(){for(b9=0;b91?bI.unique(b8):b8);b8.selector=this.selector?this.selector+" "+b6:b6;return b8},filter:function(e){return this.pushStack(aR(this,e||[],false))},not:function(e){return this.pushStack(aR(this,e||[],true))},is:function(e){return !!aR(this,typeof e==="string"&&A.test(e)?bI(e):e||[],false).length}});var z,n=a5.document,bt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,bV=bI.fn.init=function(e,b6){var i,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){i=[null,e,null]}else{i=bt.exec(e)}if(i&&(i[1]||!b6)){if(i[1]){b6=b6 instanceof bI?b6[0]:b6;bI.merge(this,bI.parseHTML(i[1],b6&&b6.nodeType?b6.ownerDocument||b6:n,true));if(a.test(i[1])&&bI.isPlainObject(b6)){for(i in b6){if(bI.isFunction(this[i])){this[i](b6[i])}else{this.attr(i,b6[i])}}}return this}else{b7=n.getElementById(i[2]);if(b7&&b7.parentNode){if(b7.id!==i[2]){return z.find(e)}this.length=1;this[0]=b7}this.context=n;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||z).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bI.isFunction(e)){return typeof z.ready!=="undefined"?z.ready(e):e(bI)}}}if(e.selector!==undefined){this.selector=e.selector;this.context=e.context}return bI.makeArray(e,this)};bV.prototype=bI.fn;z=bI(n);var bv=/^(?:parents|prev(?:Until|All))/,bz={children:true,contents:true,next:true,prev:true};bI.extend({dir:function(b6,i,b8){var e=[],b7=b6[i];while(b7&&b7.nodeType!==9&&(b8===undefined||b7.nodeType!==1||!bI(b7).is(b8))){if(b7.nodeType===1){e.push(b7)}b7=b7[i]}return e},sibling:function(b6,i){var e=[];for(;b6;b6=b6.nextSibling){if(b6.nodeType===1&&b6!==i){e.push(b6)}}return e}});bI.fn.extend({has:function(b8){var b7,b6=bI(b8,this),e=b6.length;return this.filter(function(){for(b7=0;b7-1:ca.nodeType===1&&bI.find.matchesSelector(ca,b9))){e.push(ca);break}}}return this.pushStack(e.length>1?bI.unique(e):e)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bI.inArray(this[0],bI(e))}return bI.inArray(e.jquery?e[0]:e,this)},add:function(e,i){return this.pushStack(bI.unique(bI.merge(this.get(),bI(e,i))))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});function aY(i,e){do{i=i[e]}while(i&&i.nodeType!==1);return i}bI.each({parent:function(i){var e=i.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bI.dir(e,"parentNode")},parentsUntil:function(b6,e,b7){return bI.dir(b6,"parentNode",b7)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bI.dir(e,"nextSibling")},prevAll:function(e){return bI.dir(e,"previousSibling")},nextUntil:function(b6,e,b7){return bI.dir(b6,"nextSibling",b7)},prevUntil:function(b6,e,b7){return bI.dir(b6,"previousSibling",b7)},siblings:function(e){return bI.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bI.sibling(e.firstChild)},contents:function(e){return bI.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bI.merge([],e.childNodes)}},function(e,i){bI.fn[e]=function(b8,b6){var b7=bI.map(this,i,b8);if(e.slice(-5)!=="Until"){b6=b8}if(b6&&typeof b6==="string"){b7=bI.filter(b6,b7)}if(this.length>1){if(!bz[e]){b7=bI.unique(b7)}if(bv.test(e)){b7=b7.reverse()}}return this.pushStack(b7)}});var aF=(/\S+/g);var b2={};function af(i){var e=b2[i]={};bI.each(i.match(aF)||[],function(b7,b6){e[b6]=true});return e}bI.Callbacks=function(ce){ce=typeof ce==="string"?(b2[ce]||af(ce)):bI.extend({},ce);var b8,b7,e,b9,ca,b6,cb=[],cc=!ce.once&&[],i=function(cf){b7=ce.memory&&cf;e=true;ca=b6||0;b6=0;b9=cb.length;b8=true;for(;cb&&ca-1){cb.splice(cg,1);if(b8){if(cg<=b9){b9--}if(cg<=ca){ca--}}}})}return this},has:function(cf){return cf?bI.inArray(cf,cb)>-1:!!(cb&&cb.length)},empty:function(){cb=[];b9=0;return this},disable:function(){cb=cc=b7=undefined;return this},disabled:function(){return !cb},lock:function(){cc=undefined;if(!b7){cd.disable()}return this},locked:function(){return !cc},fireWith:function(cg,cf){if(cb&&(!e||cc)){cf=cf||[];cf=[cg,cf.slice?cf.slice():cf];if(b8){cc.push(cf)}else{i(cf)}}return this},fire:function(){cd.fireWith(this,arguments);return this},fired:function(){return !!e}};return cd};bI.extend({Deferred:function(b6){var i=[["resolve","done",bI.Callbacks("once memory"),"resolved"],["reject","fail",bI.Callbacks("once memory"),"rejected"],["notify","progress",bI.Callbacks("memory")]],b7="pending",b8={state:function(){return b7},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b9=arguments;return bI.Deferred(function(ca){bI.each(i,function(cc,cb){var cd=bI.isFunction(b9[cc])&&b9[cc];e[cb[1]](function(){var ce=cd&&cd.apply(this,arguments);if(ce&&bI.isFunction(ce.promise)){ce.promise().done(ca.resolve).fail(ca.reject).progress(ca.notify)}else{ca[cb[0]+"With"](this===b8?ca.promise():this,cd?[ce]:arguments)}})});b9=null}).promise()},promise:function(b9){return b9!=null?bI.extend(b9,b8):b8}},e={};b8.pipe=b8.then;bI.each(i,function(ca,b9){var cc=b9[2],cb=b9[3];b8[b9[1]]=cc.add;if(cb){cc.add(function(){b7=cb},i[ca^1][2].disable,i[2][2].lock)}e[b9[0]]=function(){e[b9[0]+"With"](this===e?b8:this,arguments);return this};e[b9[0]+"With"]=cc.fireWith});b8.promise(e);if(b6){b6.call(e,e)}return e},when:function(b9){var b7=0,cb=P.call(arguments),e=cb.length,b6=e!==1||(b9&&bI.isFunction(b9.promise))?e:0,ce=b6===1?b9:bI.Deferred(),b8=function(cg,ch,cf){return function(i){ch[cg]=this;cf[cg]=arguments.length>1?P.call(arguments):i;if(cf===cd){ce.notifyWith(ch,cf)}else{if(!(--b6)){ce.resolveWith(ch,cf)}}}},cd,ca,cc;if(e>1){cd=new Array(e);ca=new Array(e);cc=new Array(e);for(;b70){return}ak.resolveWith(n,[bI]);if(bI.fn.triggerHandler){bI(n).triggerHandler("ready");bI(n).off("ready")}}});function bm(){if(n.addEventListener){n.removeEventListener("DOMContentLoaded",bZ,false);a5.removeEventListener("load",bZ,false)}else{n.detachEvent("onreadystatechange",bZ);a5.detachEvent("onload",bZ)}}function bZ(){if(n.addEventListener||event.type==="load"||n.readyState==="complete"){bm();bI.ready()}}bI.ready.promise=function(b8){if(!ak){ak=bI.Deferred();if(n.readyState==="complete"){setTimeout(bI.ready)}else{if(n.addEventListener){n.addEventListener("DOMContentLoaded",bZ,false);a5.addEventListener("load",bZ,false)}else{n.attachEvent("onreadystatechange",bZ);a5.attachEvent("onload",bZ);var b7=false;try{b7=a5.frameElement==null&&n.documentElement}catch(b6){}if(b7&&b7.doScroll){(function i(){if(!bI.isReady){try{b7.doScroll("left")}catch(b9){return setTimeout(i,50)}bm();bI.ready()}})()}}}}return ak.promise(b8)};var aC=typeof undefined;var bh;for(bh in bI(D)){break}D.ownLast=bh!=="0";D.inlineBlockNeedsLayout=false;bI(function(){var b6,b7,e,i;e=n.getElementsByTagName("body")[0];if(!e||!e.style){return}b7=n.createElement("div");i=n.createElement("div");i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";e.appendChild(i).appendChild(b7);if(typeof b7.style.zoom!==aC){b7.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";D.inlineBlockNeedsLayout=b6=b7.offsetWidth===3;if(b6){e.style.zoom=1}}e.removeChild(i)});(function(){var b6=n.createElement("div");if(D.deleteExpando==null){D.deleteExpando=true;try{delete b6.test}catch(i){D.deleteExpando=false}}b6=null})();bI.acceptData=function(b6){var i=bI.noData[(b6.nodeName+" ").toLowerCase()],e=+b6.nodeType||1;return e!==1&&e!==9?false:!i||i!==true&&b6.getAttribute("classid")===i};var by=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,aQ=/([A-Z])/g;function bA(b7,b6,b8){if(b8===undefined&&b7.nodeType===1){var i="data-"+b6.replace(aQ,"-$1").toLowerCase();b8=b7.getAttribute(i);if(typeof b8==="string"){try{b8=b8==="true"?true:b8==="false"?false:b8==="null"?null:+b8+""===b8?+b8:by.test(b8)?bI.parseJSON(b8):b8}catch(b9){}bI.data(b7,b6,b8)}else{b8=undefined}}return b8}function Q(i){var e;for(e in i){if(e==="data"&&bI.isEmptyObject(i[e])){continue}if(e!=="toJSON"){return false}}return true}function bc(b7,i,b9,b8){if(!bI.acceptData(b7)){return}var cb,ca,cc=bI.expando,cd=b7.nodeType,e=cd?bI.cache:b7,b6=cd?b7[cc]:b7[cc]&&cc;if((!b6||!e[b6]||(!b8&&!e[b6].data))&&b9===undefined&&typeof i==="string"){return}if(!b6){if(cd){b6=b7[cc]=aP.pop()||bI.guid++}else{b6=cc}}if(!e[b6]){e[b6]=cd?{}:{toJSON:bI.noop}}if(typeof i==="object"||typeof i==="function"){if(b8){e[b6]=bI.extend(e[b6],i)}else{e[b6].data=bI.extend(e[b6].data,i)}}ca=e[b6];if(!b8){if(!ca.data){ca.data={}}ca=ca.data}if(b9!==undefined){ca[bI.camelCase(i)]=b9}if(typeof i==="string"){cb=ca[i];if(cb==null){cb=ca[bI.camelCase(i)]}}else{cb=ca}return cb}function ab(b9,b7,e){if(!bI.acceptData(b9)){return}var cb,b8,ca=b9.nodeType,b6=ca?bI.cache:b9,cc=ca?b9[bI.expando]:bI.expando;if(!b6[cc]){return}if(b7){cb=e?b6[cc]:b6[cc].data;if(cb){if(!bI.isArray(b7)){if(b7 in cb){b7=[b7]}else{b7=bI.camelCase(b7);if(b7 in cb){b7=[b7]}else{b7=b7.split(" ")}}}else{b7=b7.concat(bI.map(b7,bI.camelCase))}b8=b7.length;while(b8--){delete cb[b7[b8]]}if(e?!Q(cb):!bI.isEmptyObject(cb)){return}}}if(!e){delete b6[cc].data;if(!Q(b6[cc])){return}}if(ca){bI.cleanData([b9],true)}else{if(D.deleteExpando||b6!=b6.window){delete b6[cc]}else{b6[cc]=null}}}bI.extend({cache:{},noData:{"applet ":true,"embed ":true,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){e=e.nodeType?bI.cache[e[bI.expando]]:e[bI.expando];return !!e&&!Q(e)},data:function(i,e,b6){return bc(i,e,b6)},removeData:function(i,e){return ab(i,e)},_data:function(i,e,b6){return bc(i,e,b6,true)},_removeData:function(i,e){return ab(i,e,true)}});bI.fn.extend({data:function(b8,cb){var b7,b6,ca,b9=this[0],e=b9&&b9.attributes;if(b8===undefined){if(this.length){ca=bI.data(b9);if(b9.nodeType===1&&!bI._data(b9,"parsedAttrs")){b7=e.length;while(b7--){if(e[b7]){b6=e[b7].name;if(b6.indexOf("data-")===0){b6=bI.camelCase(b6.slice(5));bA(b9,b6,ca[b6])}}}bI._data(b9,"parsedAttrs",true)}}return ca}if(typeof b8==="object"){return this.each(function(){bI.data(this,b8)})}return arguments.length>1?this.each(function(){bI.data(this,b8,cb)}):b9?bA(b9,b8,bI.data(b9,b8)):undefined},removeData:function(e){return this.each(function(){bI.removeData(this,e)})}});bI.extend({queue:function(b6,i,b7){var e;if(b6){i=(i||"fx")+"queue";e=bI._data(b6,i);if(b7){if(!e||bI.isArray(b7)){e=bI._data(b6,i,bI.makeArray(b7))}else{e.push(b7)}}return e||[]}},dequeue:function(b9,b8){b8=b8||"fx";var i=bI.queue(b9,b8),ca=i.length,b7=i.shift(),e=bI._queueHooks(b9,b8),b6=function(){bI.dequeue(b9,b8)};if(b7==="inprogress"){b7=i.shift();ca--}if(b7){if(b8==="fx"){i.unshift("inprogress")}delete e.stop;b7.call(b9,b6,e)}if(!ca&&e){e.empty.fire()}},_queueHooks:function(b6,i){var e=i+"queueHooks";return bI._data(b6,e)||bI._data(b6,e,{empty:bI.Callbacks("once memory").add(function(){bI._removeData(b6,i+"queue");bI._removeData(b6,e)})})}});bI.fn.extend({queue:function(e,i){var b6=2;if(typeof e!=="string"){i=e;e="fx";b6--}if(arguments.length
    a";D.leadingWhitespace=b8.firstChild.nodeType===3;D.tbody=!b8.getElementsByTagName("tbody").length;D.htmlSerialize=!!b8.getElementsByTagName("link").length;D.html5Clone=n.createElement("nav").cloneNode(true).outerHTML!=="<:nav>";i.type="checkbox";i.checked=true;b6.appendChild(i);D.appendChecked=i.checked;b8.innerHTML="";D.noCloneChecked=!!b8.cloneNode(true).lastChild.defaultValue;b6.appendChild(b8);b8.innerHTML="";D.checkClone=b8.cloneNode(true).cloneNode(true).lastChild.checked;D.noCloneEvent=true;if(b8.attachEvent){b8.attachEvent("onclick",function(){D.noCloneEvent=false});b8.cloneNode(true).click()}if(D.deleteExpando==null){D.deleteExpando=true;try{delete b8.test}catch(b7){D.deleteExpando=false}}})();(function(){var b6,e,b7=n.createElement("div");for(b6 in {submit:true,change:true,focusin:true}){e="on"+b6;if(!(D[b6+"Bubbles"]=e in a5)){b7.setAttribute(e,"t");D[b6+"Bubbles"]=b7.attributes[e].expando===false}}b7=null})();var bG=/^(?:input|select|textarea)$/i,a6=/^key/,bM=/^(?:mouse|pointer|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bx=/^([^.]*)(?:\.(.+)|)$/;function U(){return true}function Z(){return false}function am(){try{return n.activeElement}catch(e){}}bI.event={global:{},add:function(b8,cd,ci,ca,b9){var cb,cj,ck,b6,cf,cc,ch,b7,cg,e,i,ce=bI._data(b8);if(!ce){return}if(ci.handler){b6=ci;ci=b6.handler;b9=b6.selector}if(!ci.guid){ci.guid=bI.guid++}if(!(cj=ce.events)){cj=ce.events={}}if(!(cc=ce.handle)){cc=ce.handle=function(cl){return typeof bI!==aC&&(!cl||bI.event.triggered!==cl.type)?bI.event.dispatch.apply(cc.elem,arguments):undefined};cc.elem=b8}cd=(cd||"").match(aF)||[""];ck=cd.length;while(ck--){cb=bx.exec(cd[ck])||[];cg=i=cb[1];e=(cb[2]||"").split(".").sort();if(!cg){continue}cf=bI.event.special[cg]||{};cg=(b9?cf.delegateType:cf.bindType)||cg;cf=bI.event.special[cg]||{};ch=bI.extend({type:cg,origType:i,data:ca,handler:ci,guid:ci.guid,selector:b9,needsContext:b9&&bI.expr.match.needsContext.test(b9),namespace:e.join(".")},b6);if(!(b7=cj[cg])){b7=cj[cg]=[];b7.delegateCount=0;if(!cf.setup||cf.setup.call(b8,ca,e,cc)===false){if(b8.addEventListener){b8.addEventListener(cg,cc,false)}else{if(b8.attachEvent){b8.attachEvent("on"+cg,cc)}}}}if(cf.add){cf.add.call(b8,ch);if(!ch.handler.guid){ch.handler.guid=ci.guid}}if(b9){b7.splice(b7.delegateCount++,0,ch)}else{b7.push(ch)}bI.event.global[cg]=true}b8=null},remove:function(b7,cd,ck,b8,cc){var ca,ch,cb,b9,cj,ci,cf,b6,cg,e,i,ce=bI.hasData(b7)&&bI._data(b7);if(!ce||!(ci=ce.events)){return}cd=(cd||"").match(aF)||[""];cj=cd.length;while(cj--){cb=bx.exec(cd[cj])||[];cg=i=cb[1];e=(cb[2]||"").split(".").sort();if(!cg){for(cg in ci){bI.event.remove(b7,cg+cd[cj],ck,b8,true)}continue}cf=bI.event.special[cg]||{};cg=(b8?cf.delegateType:cf.bindType)||cg;b6=ci[cg]||[];cb=cb[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b9=ca=b6.length;while(ca--){ch=b6[ca];if((cc||i===ch.origType)&&(!ck||ck.guid===ch.guid)&&(!cb||cb.test(ch.namespace))&&(!b8||b8===ch.selector||b8==="**"&&ch.selector)){b6.splice(ca,1);if(ch.selector){b6.delegateCount--}if(cf.remove){cf.remove.call(b7,ch)}}}if(b9&&!b6.length){if(!cf.teardown||cf.teardown.call(b7,e,ce.handle)===false){bI.removeEvent(b7,cg,ce.handle)}delete ci[cg]}}if(bI.isEmptyObject(ci)){delete ce.handle;bI._removeData(b7,"events")}},trigger:function(b6,cd,b9,ck){var ce,b8,ci,cj,cg,cc,cb,ca=[b9||n],ch=K.call(b6,"type")?b6.type:b6,b7=K.call(b6,"namespace")?b6.namespace.split("."):[];ci=cc=b9=b9||n;if(b9.nodeType===3||b9.nodeType===8){return}if(bC.test(ch+bI.event.triggered)){return}if(ch.indexOf(".")>=0){b7=ch.split(".");ch=b7.shift();b7.sort()}b8=ch.indexOf(":")<0&&"on"+ch;b6=b6[bI.expando]?b6:new bI.Event(ch,typeof b6==="object"&&b6);b6.isTrigger=ck?2:3;b6.namespace=b7.join(".");b6.namespace_re=b6.namespace?new RegExp("(^|\\.)"+b7.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b6.result=undefined;if(!b6.target){b6.target=b9}cd=cd==null?[b6]:bI.makeArray(cd,[b6]);cg=bI.event.special[ch]||{};if(!ck&&cg.trigger&&cg.trigger.apply(b9,cd)===false){return}if(!ck&&!cg.noBubble&&!bI.isWindow(b9)){cj=cg.delegateType||ch;if(!bC.test(cj+ch)){ci=ci.parentNode}for(;ci;ci=ci.parentNode){ca.push(ci);cc=ci}if(cc===(b9.ownerDocument||n)){ca.push(cc.defaultView||cc.parentWindow||a5)}}cb=0;while((ci=ca[cb++])&&!b6.isPropagationStopped()){b6.type=cb>1?cj:cg.bindType||ch;ce=(bI._data(ci,"events")||{})[b6.type]&&bI._data(ci,"handle");if(ce){ce.apply(ci,cd)}ce=b8&&ci[b8];if(ce&&ce.apply&&bI.acceptData(ci)){b6.result=ce.apply(ci,cd);if(b6.result===false){b6.preventDefault()}}}b6.type=ch;if(!ck&&!b6.isDefaultPrevented()){if((!cg._default||cg._default.apply(ca.pop(),cd)===false)&&bI.acceptData(b9)){if(b8&&b9[ch]&&!bI.isWindow(b9)){cc=b9[b8];if(cc){b9[b8]=null}bI.event.triggered=ch;try{b9[ch]()}catch(cf){}bI.event.triggered=undefined;if(cc){b9[b8]=cc}}}}return b6.result},dispatch:function(e){e=bI.event.fix(e);var b9,ca,ce,b6,b8,cd=[],cc=P.call(arguments),b7=(bI._data(this,"events")||{})[e.type]||[],cb=bI.event.special[e.type]||{};cc[0]=e;e.delegateTarget=this;if(cb.preDispatch&&cb.preDispatch.call(this,e)===false){return}cd=bI.event.handlers.call(this,e,b7);b9=0;while((b6=cd[b9++])&&!e.isPropagationStopped()){e.currentTarget=b6.elem;b8=0;while((ce=b6.handlers[b8++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(ce.namespace)){e.handleObj=ce;e.data=ce.data;ca=((bI.event.special[ce.origType]||{}).handle||ce.handler).apply(b6.elem,cc);if(ca!==undefined){if((e.result=ca)===false){e.preventDefault();e.stopPropagation()}}}}}if(cb.postDispatch){cb.postDispatch.call(this,e)}return e.result},handlers:function(e,b7){var b6,cc,ca,b9,cb=[],b8=b7.delegateCount,cd=e.target;if(b8&&cd.nodeType&&(!e.button||e.type!=="click")){for(;cd!=this;cd=cd.parentNode||this){if(cd.nodeType===1&&(cd.disabled!==true||e.type!=="click")){ca=[];for(b9=0;b9=0:bI.find(b6,this,null,[cd]).length}if(ca[b6]){ca.push(cc)}}if(ca.length){cb.push({elem:cd,handlers:ca})}}}}if(b8]","i"),b5=/^\s+/,aH=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,o=/<([\w:]+)/,b0=/\s*$/g,W={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:D.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},aT=B(n),k=aT.appendChild(n.createElement("div"));W.optgroup=W.option;W.tbody=W.tfoot=W.colgroup=W.caption=W.thead;W.th=W.td;function l(b8,e){var b6,b9,b7=0,ca=typeof b8.getElementsByTagName!==aC?b8.getElementsByTagName(e||"*"):typeof b8.querySelectorAll!==aC?b8.querySelectorAll(e||"*"):undefined;if(!ca){for(ca=[],b6=b8.childNodes||b8;(b9=b6[b7])!=null;b7++){if(!e||bI.nodeName(b9,e)){ca.push(b9)}else{bI.merge(ca,l(b9,e))}}}return e===undefined||e&&bI.nodeName(b8,e)?bI.merge([b8],ca):ca}function bY(e){if(aM.test(e.type)){e.defaultChecked=e.checked}}function a3(i,e){return bI.nodeName(i,"table")&&bI.nodeName(e.nodeType!==11?e:e.firstChild,"tr")?i.getElementsByTagName("tbody")[0]||i.appendChild(i.ownerDocument.createElement("tbody")):i}function u(e){e.type=(bI.find.attr(e,"type")!==null)+"/"+e.type;return e}function bf(i){var e=ar.exec(i.type);if(e){i.type=e[1]}else{i.removeAttribute("type")}return i}function bu(e,b7){var b8,b6=0;for(;(b8=e[b6])!=null;b6++){bI._data(b8,"globalEval",!b7||bI._data(b7[b6],"globalEval"))}}function at(cc,b6){if(b6.nodeType!==1||!bI.hasData(cc)){return}var b9,b8,e,cb=bI._data(cc),ca=bI._data(b6,cb),b7=cb.events;if(b7){delete ca.handle;ca.events={};for(b9 in b7){for(b8=0,e=b7[b9].length;b8")){cd=b6.cloneNode(true)}else{k.innerHTML=b6.outerHTML;k.removeChild(cd=k.firstChild)}if((!D.noCloneEvent||!D.noCloneChecked)&&(b6.nodeType===1||b6.nodeType===11)&&!bI.isXMLDoc(b6)){ca=l(cd);cb=l(b6);for(b9=0;(b7=cb[b9])!=null;++b9){if(ca[b9]){T(b7,ca[b9])}}}if(b8){if(e){cb=cb||l(b6);ca=ca||l(cd);for(b9=0;(b7=cb[b9])!=null;b9++){at(b7,ca[b9])}}else{at(b6,cd)}}ca=l(cd,"script");if(ca.length>0){bu(ca,!cc&&l(b6,"script"))}ca=cb=b7=null;return cd},buildFragment:function(b6,b8,cd,ci){var ce,ca,cc,ch,cj,cg,b7,cb=b6.length,b9=B(b8),e=[],cf=0;for(;cf")+b7[2];ce=b7[0];while(ce--){ch=ch.lastChild}if(!D.leadingWhitespace&&b5.test(ca)){e.push(b8.createTextNode(b5.exec(ca)[0]))}if(!D.tbody){ca=cj==="table"&&!b0.test(ca)?ch.firstChild:b7[1]===""&&!b0.test(ca)?ch:0;ce=ca&&ca.childNodes.length;while(ce--){if(bI.nodeName((cg=ca.childNodes[ce]),"tbody")&&!cg.childNodes.length){ca.removeChild(cg)}}}bI.merge(e,ch.childNodes);ch.textContent="";while(ch.firstChild){ch.removeChild(ch.firstChild)}ch=b9.lastChild}}}}if(ch){b9.removeChild(ch)}if(!D.appendChecked){bI.grep(l(e,"input"),bY)}cf=0;while((ca=e[cf++])){if(ci&&bI.inArray(ca,ci)!==-1){continue}cc=bI.contains(ca.ownerDocument,ca);ch=l(b9.appendChild(ca),"script");if(cc){bu(ch)}if(cd){ce=0;while((ca=ch[ce++])){if(bB.test(ca.type||"")){cd.push(ca)}}}}ch=null;return b9},cleanData:function(b6,ce){var b8,cd,b7,b9,ca=0,cf=bI.expando,e=bI.cache,cb=D.deleteExpando,cc=bI.event.special;for(;(b8=b6[ca])!=null;ca++){if(ce||bI.acceptData(b8)){b7=b8[cf];b9=b7&&e[b7];if(b9){if(b9.events){for(cd in b9.events){if(cc[cd]){bI.event.remove(b8,cd)}else{bI.removeEvent(b8,cd,b9.handle)}}}if(e[b7]){delete e[b7];if(cb){delete b8[cf]}else{if(typeof b8.removeAttribute!==aC){b8.removeAttribute(cf)}else{b8[cf]=null}}aP.push(b7)}}}}}});bI.fn.extend({text:function(e){return aB(this,function(i){return i===undefined?bI.text(this):this.empty().append((this[0]&&this[0].ownerDocument||n).createTextNode(i))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var i=a3(this,e);i.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var i=a3(this,e);i.insertBefore(e,i.firstChild)}})},before:function(){return this.domManip(arguments,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b9){var b8,b6=e?bI.filter(e,this):this,b7=0;for(;(b8=b6[b7])!=null;b7++){if(!b9&&b8.nodeType===1){bI.cleanData(l(b8))}if(b8.parentNode){if(b9&&bI.contains(b8.ownerDocument,b8)){bu(l(b8,"script"))}b8.parentNode.removeChild(b8)}}return this},empty:function(){var b6,e=0;for(;(b6=this[e])!=null;e++){if(b6.nodeType===1){bI.cleanData(l(b6,false))}while(b6.firstChild){b6.removeChild(b6.firstChild)}if(b6.options&&bI.nodeName(b6,"select")){b6.options.length=0}}return this},clone:function(i,e){i=i==null?false:i;e=e==null?i:e;return this.map(function(){return bI.clone(this,i,e)})},html:function(e){return aB(this,function(b9){var b8=this[0]||{},b7=0,b6=this.length;if(b9===undefined){return b8.nodeType===1?b8.innerHTML.replace(aD,""):undefined}if(typeof b9==="string"&&!an.test(b9)&&(D.htmlSerialize||!M.test(b9))&&(D.leadingWhitespace||!b5.test(b9))&&!W[(o.exec(b9)||["",""])[1].toLowerCase()]){b9=b9.replace(aH,"<$1>");try{for(;b71&&typeof ce==="string"&&!D.checkClone&&bW.test(ce))){return this.each(function(cj){var i=cf.eq(cj);if(b6){cd[0]=ce.call(this,cj,i.html())}i.domManip(cd,ci)})}if(b8){cc=bI.buildFragment(cd,this[0].ownerDocument,false,this);cb=cc.firstChild;if(cc.childNodes.length===1){cc=cb}if(cb){b9=bI.map(l(cc,"script"),u);e=b9.length;for(;ca")).appendTo(i.documentElement);i=(aI[0].contentWindow||aI[0].contentDocument).document;i.write();i.close();e=a4(b6,i);aI.detach()}bl[b6]=e}return e}(function(){var e;D.shrinkWrapBlocks=function(){if(e!=null){return e}e=false;var b7,i,b6;i=n.getElementsByTagName("body")[0];if(!i||!i.style){return}b7=n.createElement("div");b6=n.createElement("div");b6.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";i.appendChild(b6).appendChild(b7);if(typeof b7.style.zoom!==aC){b7.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1";b7.appendChild(n.createElement("div")).style.width="5px";e=b7.offsetWidth!==3}i.removeChild(b6);return e}})();var aZ=(/^margin/);var Y=new RegExp("^("+aE+")(?!px)[a-z%]+$","i");var bq,G,bo=/^(top|right|bottom|left)$/;if(a5.getComputedStyle){bq=function(e){if(e.ownerDocument.defaultView.opener){return e.ownerDocument.defaultView.getComputedStyle(e,null)}return a5.getComputedStyle(e,null)};G=function(cb,i,ca){var b8,b7,b9,e,b6=cb.style;ca=ca||bq(cb);e=ca?ca.getPropertyValue(i)||ca[i]:undefined;if(ca){if(e===""&&!bI.contains(cb.ownerDocument,cb)){e=bI.style(cb,i)}if(Y.test(e)&&aZ.test(i)){b8=b6.width;b7=b6.minWidth;b9=b6.maxWidth;b6.minWidth=b6.maxWidth=b6.width=e;e=ca.width;b6.width=b8;b6.minWidth=b7;b6.maxWidth=b9}}return e===undefined?e:e+""}}else{if(n.documentElement.currentStyle){bq=function(e){return e.currentStyle};G=function(ca,b7,b9){var cb,i,e,b6,b8=ca.style;b9=b9||bq(ca);b6=b9?b9[b7]:undefined;if(b6==null&&b8&&b8[b7]){b6=b8[b7]}if(Y.test(b6)&&!bo.test(b7)){cb=b8.left;i=ca.runtimeStyle;e=i&&i.left;if(e){i.left=ca.currentStyle.left}b8.left=b7==="fontSize"?"1em":b6;b6=b8.pixelLeft+"px";b8.left=cb;if(e){i.left=e}}return b6===undefined?b6:b6+""||"auto"}}}function a7(e,i){return{get:function(){var b6=e();if(b6==null){return}if(b6){delete this.get;return}return(this.get=i).apply(this,arguments)}}}(function(){var cb,b9,b7,ca,b6,b8,i;cb=n.createElement("div");cb.innerHTML="
    a";b7=cb.getElementsByTagName("a")[0];b9=b7&&b7.style;if(!b9){return}b9.cssText="float:left;opacity:.5";D.opacity=b9.opacity==="0.5";D.cssFloat=!!b9.cssFloat;cb.style.backgroundClip="content-box";cb.cloneNode(true).style.backgroundClip="";D.clearCloneStyle=cb.style.backgroundClip==="content-box";D.boxSizing=b9.boxSizing===""||b9.MozBoxSizing===""||b9.WebkitBoxSizing==="";bI.extend(D,{reliableHiddenOffsets:function(){if(b8==null){e()}return b8},boxSizingReliable:function(){if(b6==null){e()}return b6},pixelPosition:function(){if(ca==null){e()}return ca},reliableMarginRight:function(){if(i==null){e()}return i}});function e(){var cf,cc,cd,ce;cc=n.getElementsByTagName("body")[0];if(!cc||!cc.style){return}cf=n.createElement("div");cd=n.createElement("div");cd.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";cc.appendChild(cd).appendChild(cf);cf.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute";ca=b6=false;i=true;if(a5.getComputedStyle){ca=(a5.getComputedStyle(cf,null)||{}).top!=="1%";b6=(a5.getComputedStyle(cf,null)||{width:"4px"}).width==="4px";ce=cf.appendChild(n.createElement("div"));ce.style.cssText=cf.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0";ce.style.marginRight=ce.style.width="0";cf.style.width="1px";i=!parseFloat((a5.getComputedStyle(ce,null)||{}).marginRight);cf.removeChild(ce)}cf.innerHTML="
    t
    ";ce=cf.getElementsByTagName("td");ce[0].style.cssText="margin:0;border:0;padding:0;display:none";b8=ce[0].offsetHeight===0;if(b8){ce[0].style.display="";ce[1].style.display="none";b8=ce[0].offsetHeight===0}cc.removeChild(cd)}})();bI.swap=function(b9,b8,ca,b7){var b6,i,e={};for(i in b8){e[i]=b9.style[i];b9.style[i]=b8[i]}b6=ca.apply(b9,b7||[]);for(i in b8){b9.style[i]=e[i]}return b6};var bj=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,H=/^(none|table(?!-c[ea]).+)/,bb=new RegExp("^("+aE+")(.*)$","i"),V=new RegExp("^([+-])=("+aE+")","i"),be={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:"0",fontWeight:"400"},aw=["Webkit","O","Moz","ms"];function c(b8,b6){if(b6 in b8){return b6}var b9=b6.charAt(0).toUpperCase()+b6.slice(1),e=b6,b7=aw.length;while(b7--){b6=aw[b7]+b9;if(b6 in b8){return b6}}return e}function s(ca,e){var cb,b8,b9,i=[],b6=0,b7=ca.length;for(;b6=1||b9==="")&&bI.trim(b6.replace(bj,""))===""&&b7.removeAttribute){b7.removeAttribute("filter");if(b9===""||i&&!i.filter){return}}b7.filter=bj.test(b6)?b6.replace(bj,e):b6+" "+e}}}bI.cssHooks.marginRight=a7(D.reliableMarginRight,function(i,e){if(e){return bI.swap(i,{display:"inline-block"},G,[i,"marginRight"])}});bI.each({margin:"",padding:"",border:"Width"},function(e,i){bI.cssHooks[e+i]={expand:function(b8){var b7=0,b6={},b9=typeof b8==="string"?b8.split(" "):[b8];for(;b7<4;b7++){b6[e+bT[b7]+i]=b9[b7]||b9[b7-2]||b9[0]}return b6}};if(!aZ.test(e)){bI.cssHooks[e+i].set=aN}});bI.fn.extend({css:function(e,i){return aB(this,function(ca,b7,cb){var b9,b6,cc={},b8=0;if(bI.isArray(b7)){b9=bq(ca);b6=b7.length;for(;b81)},show:function(){return s(this,true)},hide:function(){return s(this)},toggle:function(e){if(typeof e==="boolean"){return e?this.show():this.hide()}return this.each(function(){if(S(this)){bI(this).show()}else{bI(this).hide()}})}});function J(b6,i,b8,e,b7){return new J.prototype.init(b6,i,b8,e,b7)}bI.Tween=J;J.prototype={constructor:J,init:function(b7,i,b9,e,b8,b6){this.elem=b7;this.prop=b9;this.easing=b8||"swing";this.options=i;this.start=this.now=this.cur();this.end=e;this.unit=b6||(bI.cssNumber[b9]?"":"px")},cur:function(){var e=J.propHooks[this.prop];return e&&e.get?e.get(this):J.propHooks._default.get(this)},run:function(b6){var i,e=J.propHooks[this.prop];if(this.options.duration){this.pos=i=bI.easing[this.easing](b6,this.options.duration*b6,0,1,this.options.duration)}else{this.pos=i=b6}this.now=(this.end-this.start)*i+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(e&&e.set){e.set(this)}else{J.propHooks._default.set(this)}return this}};J.prototype.init.prototype=J.prototype;J.propHooks={_default:{get:function(i){var e;if(i.elem[i.prop]!=null&&(!i.elem.style||i.elem.style[i.prop]==null)){return i.elem[i.prop]}e=bI.css(i.elem,i.prop,"");return !e||e==="auto"?0:e},set:function(e){if(bI.fx.step[e.prop]){bI.fx.step[e.prop](e)}else{if(e.elem.style&&(e.elem.style[bI.cssProps[e.prop]]!=null||bI.cssHooks[e.prop])){bI.style(e.elem,e.prop,e.now+e.unit)}else{e.elem[e.prop]=e.now}}}}};J.propHooks.scrollTop=J.propHooks.scrollLeft={set:function(e){if(e.elem.nodeType&&e.elem.parentNode){e.elem[e.prop]=e.now}}};bI.easing={linear:function(e){return e},swing:function(e){return 0.5-Math.cos(e*Math.PI)/2}};bI.fx=J.prototype.init;bI.fx.step={};var N,ae,bR=/^(?:toggle|show|hide)$/,bJ=new RegExp("^(?:([+-])=|)("+aE+")([a-z%]*)$","i"),bP=/queueHooks$/,aG=[h],a2={"*":[function(e,ca){var cc=this.createTween(e,ca),b8=cc.cur(),b7=bJ.exec(ca),cb=b7&&b7[3]||(bI.cssNumber[e]?"":"px"),i=(bI.cssNumber[e]||cb!=="px"&&+b8)&&bJ.exec(bI.css(cc.elem,e)),b6=1,b9=20;if(i&&i[3]!==cb){cb=cb||i[3];b7=b7||[];i=+b8||1;do{b6=b6||".5";i=i/b6;bI.style(cc.elem,e,i+cb)}while(b6!==(b6=cc.cur()/b8)&&b6!==1&&--b9)}if(b7){i=cc.start=+i||+b8||0;cc.unit=cb;cc.end=b7[1]?i+(b7[1]+1)*b7[2]:+b7[2]}return cc}]};function bn(){setTimeout(function(){N=undefined});return(N=bI.now())}function bH(b7,b9){var b8,e={height:b7},b6=0;b9=b9?1:0;for(;b6<4;b6+=2-b9){b8=bT[b6];e["margin"+b8]=e["padding"+b8]=b7}if(b9){e.opacity=e.width=b7}return e}function bd(b8,ca,b7){var i,b9=(a2[ca]||[]).concat(a2["*"]),e=0,b6=b9.length;for(;e
    a";i=b8.getElementsByTagName("a")[0];e=n.createElement("select");b7=e.appendChild(n.createElement("option"));b6=b8.getElementsByTagName("input")[0];i.style.cssText="top:1px";D.getSetAttribute=b8.className!=="t";D.style=/top/.test(i.getAttribute("style"));D.hrefNormalized=i.getAttribute("href")==="/a";D.checkOn=!!b6.value;D.optSelected=b7.selected;D.enctype=!!n.createElement("form").enctype;e.disabled=true;D.optDisabled=!b7.disabled;b6=n.createElement("input");b6.setAttribute("value","");D.input=b6.getAttribute("value")==="";b6.value="t";b6.setAttribute("type","radio");D.radioValue=b6.value==="t"})();var al=/\r/g;bI.fn.extend({val:function(b7){var e,i,b8,b6=this[0];if(!arguments.length){if(b6){e=bI.valHooks[b6.type]||bI.valHooks[b6.nodeName.toLowerCase()];if(e&&"get" in e&&(i=e.get(b6,"value"))!==undefined){return i}i=b6.value;return typeof i==="string"?i.replace(al,""):i==null?"":i}return}b8=bI.isFunction(b7);return this.each(function(b9){var ca;if(this.nodeType!==1){return}if(b8){ca=b7.call(this,b9,bI(this).val())}else{ca=b7}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bI.isArray(ca)){ca=bI.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bI.valHooks[this.type]||bI.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===undefined){this.value=ca}})}});bI.extend({valHooks:{option:{get:function(e){var i=bI.find.attr(e,"value");return i!=null?i:bI.trim(bI.text(e))}},select:{get:function(e){var cb,b7,cd=e.options,b9=e.selectedIndex,b8=e.type==="select-one"||b9<0,cc=b8?null:[],ca=b8?b9+1:cd.length,b6=b9<0?ca:b8?b9:0;for(;b6=0){try{b9.selected=cc=true}catch(b6){b9.scrollHeight}}else{b9.selected=false}}if(!cc){ca.selectedIndex=-1}return b7}}}});bI.each(["radio","checkbox"],function(){bI.valHooks[this]={set:function(e,i){if(bI.isArray(i)){return(e.checked=bI.inArray(bI(e).val(),i)>=0)}}};if(!D.checkOn){bI.valHooks[this].get=function(e){return e.getAttribute("value")===null?"on":e.value}}});var ba,b3,bO=bI.expr.attrHandle,aq=/^(?:checked|selected)$/i,bN=D.getSetAttribute,bF=D.input;bI.fn.extend({attr:function(e,i){return aB(this,bI.attr,e,i,arguments.length>1)},removeAttr:function(e){return this.each(function(){bI.removeAttr(this,e)})}});bI.extend({attr:function(b8,b7,b9){var e,b6,i=b8.nodeType;if(!b8||i===3||i===8||i===2){return}if(typeof b8.getAttribute===aC){return bI.prop(b8,b7,b9)}if(i!==1||!bI.isXMLDoc(b8)){b7=b7.toLowerCase();e=bI.attrHooks[b7]||(bI.expr.match.bool.test(b7)?b3:ba)}if(b9!==undefined){if(b9===null){bI.removeAttr(b8,b7)}else{if(e&&"set" in e&&(b6=e.set(b8,b9,b7))!==undefined){return b6}else{b8.setAttribute(b7,b9+"");return b9}}}else{if(e&&"get" in e&&(b6=e.get(b8,b7))!==null){return b6}else{b6=bI.find.attr(b8,b7);return b6==null?undefined:b6}}},removeAttr:function(b7,b9){var e,b8,b6=0,ca=b9&&b9.match(aF);if(ca&&b7.nodeType===1){while((e=ca[b6++])){b8=bI.propFix[e]||e;if(bI.expr.match.bool.test(e)){if(bF&&bN||!aq.test(e)){b7[b8]=false}else{b7[bI.camelCase("default-"+e)]=b7[b8]=false}}else{bI.attr(b7,e,"")}b7.removeAttribute(bN?e:b8)}}},attrHooks:{type:{set:function(e,i){if(!D.radioValue&&i==="radio"&&bI.nodeName(e,"input")){var b6=e.value;e.setAttribute("type",i);if(b6){e.value=b6}return i}}}}});b3={set:function(i,b6,e){if(b6===false){bI.removeAttr(i,e)}else{if(bF&&bN||!aq.test(e)){i.setAttribute(!bN&&bI.propFix[e]||e,e)}else{i[bI.camelCase("default-"+e)]=i[e]=true}}return e}};bI.each(bI.expr.match.bool.source.match(/\w+/g),function(b7,b6){var e=bO[b6]||bI.find.attr;bO[b6]=bF&&bN||!aq.test(b6)?function(b9,b8,cb){var i,ca;if(!cb){ca=bO[b8];bO[b8]=i;i=e(b9,b8,cb)!=null?b8.toLowerCase():null;bO[b8]=ca}return i}:function(b8,i,b9){if(!b9){return b8[bI.camelCase("default-"+i)]?i.toLowerCase():null}}});if(!bF||!bN){bI.attrHooks.value={set:function(i,b6,e){if(bI.nodeName(i,"input")){i.defaultValue=b6}else{return ba&&ba.set(i,b6,e)}}}}if(!bN){ba={set:function(b6,b7,i){var e=b6.getAttributeNode(i);if(!e){b6.setAttributeNode((e=b6.ownerDocument.createAttribute(i)))}e.value=b7+="";if(i==="value"||b7===b6.getAttribute(i)){return b7}}};bO.id=bO.name=bO.coords=function(b6,i,b7){var e;if(!b7){return(e=b6.getAttributeNode(i))&&e.value!==""?e.value:null}};bI.valHooks.button={get:function(b6,i){var e=b6.getAttributeNode(i);if(e&&e.specified){return e.value}},set:ba.set};bI.attrHooks.contenteditable={set:function(i,b6,e){ba.set(i,b6===""?false:b6,e)}};bI.each(["width","height"],function(b6,e){bI.attrHooks[e]={set:function(i,b7){if(b7===""){i.setAttribute(e,"auto");return b7}}}})}if(!D.style){bI.attrHooks.style={get:function(e){return e.style.cssText||undefined},set:function(e,i){return(e.style.cssText=i+"")}}}var aJ=/^(?:input|select|textarea|button|object)$/i,F=/^(?:a|area)$/i;bI.fn.extend({prop:function(e,i){return aB(this,bI.prop,e,i,arguments.length>1)},removeProp:function(e){e=bI.propFix[e]||e;return this.each(function(){try{this[e]=undefined;delete this[e]}catch(i){}})}});bI.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(b9,b7,ca){var b6,e,b8,i=b9.nodeType;if(!b9||i===3||i===8||i===2){return}b8=i!==1||!bI.isXMLDoc(b9);if(b8){b7=bI.propFix[b7]||b7;e=bI.propHooks[b7]}if(ca!==undefined){return e&&"set" in e&&(b6=e.set(b9,ca,b7))!==undefined?b6:(b9[b7]=ca)}else{return e&&"get" in e&&(b6=e.get(b9,b7))!==null?b6:b9[b7]}},propHooks:{tabIndex:{get:function(i){var e=bI.find.attr(i,"tabindex");return e?parseInt(e,10):aJ.test(i.nodeName)||F.test(i.nodeName)&&i.href?0:-1}}}});if(!D.hrefNormalized){bI.each(["href","src"],function(b6,e){bI.propHooks[e]={get:function(i){return i.getAttribute(e,4)}}})}if(!D.optSelected){bI.propHooks.selected={get:function(i){var e=i.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}}}bI.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){bI.propFix[this.toLowerCase()]=this});if(!D.enctype){bI.propFix.enctype="encoding"}var bL=/[\t\r\n\f]/g;bI.fn.extend({addClass:function(cd){var b7,b6,ce,cb,b8,e,b9=0,ca=this.length,cc=typeof cd==="string"&&cd;if(bI.isFunction(cd)){return this.each(function(i){bI(this).addClass(cd.call(this,i,this.className))})}if(cc){b7=(cd||"").match(aF)||[];for(;b9=0){ce=ce.replace(" "+cb+" "," ")}}e=cd?bI.trim(ce):"";if(b6.className!==e){b6.className=e}}}}return this},toggleClass:function(b6,e){var i=typeof b6;if(typeof e==="boolean"&&i==="string"){return e?this.addClass(b6):this.removeClass(b6)}if(bI.isFunction(b6)){return this.each(function(b7){bI(this).toggleClass(b6.call(this,b7,this.className,e),e)})}return this.each(function(){if(i==="string"){var b9,b8=0,b7=bI(this),ca=b6.match(aF)||[];while((b9=ca[b8++])){if(b7.hasClass(b9)){b7.removeClass(b9)}else{b7.addClass(b9)}}}else{if(i===aC||i==="boolean"){if(this.className){bI._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bI._data(this,"__className__")||""}}})},hasClass:function(e){var b8=" "+e+" ",b7=0,b6=this.length;for(;b7=0){return true}}return false}});bI.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b6,e){bI.fn[e]=function(b7,i){return arguments.length>0?this.on(e,null,b7,i):this.trigger(e)}});bI.fn.extend({hover:function(e,i){return this.mouseenter(e).mouseleave(i||e)},bind:function(e,b6,i){return this.on(e,null,b6,i)},unbind:function(e,i){return this.off(e,null,i)},delegate:function(e,i,b7,b6){return this.on(i,e,b7,b6)},undelegate:function(e,i,b6){return arguments.length===1?this.off(e,"**"):this.off(i,e||"**",b6)}});var bp=bI.now();var bQ=(/\?/);var a1=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;bI.parseJSON=function(e){if(a5.JSON&&a5.JSON.parse){return a5.JSON.parse(e+"")}var b7,b6=null,i=bI.trim(e+"");return i&&!bI.trim(i.replace(a1,function(ca,b8,b9,cb){if(b7&&b8){b6=0}if(b6===0){return ca}b7=b9||b8;b6+=!cb-!b9;return""}))?(Function("return "+i))():bI.error("Invalid JSON: "+e)};bI.parseXML=function(b7){var i,b6;if(!b7||typeof b7!=="string"){return null}try{if(a5.DOMParser){b6=new DOMParser();i=b6.parseFromString(b7,"text/xml")}else{i=new ActiveXObject("Microsoft.XMLDOM");i.async="false";i.loadXML(b7)}}catch(b8){i=undefined}if(!i||!i.documentElement||i.getElementsByTagName("parsererror").length){bI.error("Invalid XML: "+b7)}return i};var b4,aa,ap=/#.*$/,R=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,r=/^(?:GET|HEAD)$/,aK=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,w={},a9={},aX="*/".concat("*");try{aa=location.href}catch(bi){aa=n.createElement("a");aa.href="";aa=aa.href}b4=aV.exec(aa.toLowerCase())||[];function bK(e){return function(b9,ca){if(typeof b9!=="string"){ca=b9;b9="*"}var b6,b7=0,b8=b9.toLowerCase().match(aF)||[];if(bI.isFunction(ca)){while((b6=b8[b7++])){if(b6.charAt(0)==="+"){b6=b6.slice(1)||"*";(e[b6]=e[b6]||[]).unshift(ca)}else{(e[b6]=e[b6]||[]).push(ca)}}}}}function p(e,b6,ca,b7){var i={},b8=(e===a9);function b9(cb){var cc;i[cb]=true;bI.each(e[cb]||[],function(ce,cd){var cf=cd(b6,ca,b7);if(typeof cf==="string"&&!b8&&!i[cf]){b6.dataTypes.unshift(cf);b9(cf);return false}else{if(b8){return !(cc=cf)}}});return cc}return b9(b6.dataTypes[0])||!i["*"]&&b9("*")}function t(b6,b7){var e,i,b8=bI.ajaxSettings.flatOptions||{};for(i in b7){if(b7[i]!==undefined){(b8[i]?b6:(e||(e={})))[i]=b7[i]}}if(e){bI.extend(true,b6,e)}return b6}function g(cc,cb,b8){var e,b7,b6,b9,i=cc.contents,ca=cc.dataTypes;while(ca[0]==="*"){ca.shift();if(b7===undefined){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in i){if(i[b9]&&i[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(cg,b8,cd,b6){var i,cb,ce,b9,b7,cf={},cc=cg.dataTypes.slice();if(cc[1]){for(ce in cg.converters){cf[ce.toLowerCase()]=cg.converters[ce]}}cb=cc.shift();while(cb){if(cg.responseFields[cb]){cd[cg.responseFields[cb]]=b8}if(!b7&&b6&&cg.dataFilter){b8=cg.dataFilter(b8,cg.dataType)}b7=cb;cb=cc.shift();if(cb){if(cb==="*"){cb=b7}else{if(b7!=="*"&&b7!==cb){ce=cf[b7+" "+cb]||cf["* "+cb];if(!ce){for(i in cf){b9=i.split(" ");if(b9[1]===cb){ce=cf[b7+" "+b9[0]]||cf["* "+b9[0]];if(ce){if(ce===true){ce=cf[i]}else{if(cf[i]!==true){cb=b9[0];cc.unshift(b9[1])}}break}}}}if(ce!==true){if(ce&&cg["throws"]){b8=ce(b8)}else{try{b8=ce(b8)}catch(ca){return{state:"parsererror",error:ce?ca:"No conversion from "+b7+" to "+cb}}}}}}}}return{state:"success",data:b8}}bI.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:aa,type:"GET",isLocal:C.test(b4[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":bI.parseJSON,"text xml":bI.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(i,e){return e?t(t(i,bI.ajaxSettings),e):t(bI.ajaxSettings,i)},ajaxPrefilter:bK(w),ajaxTransport:bK(a9),ajax:function(ca,b7){if(typeof ca==="object"){b7=ca;ca=undefined}b7=b7||{};var cj,cl,cb,cq,cf,b6,cm,b8,ce=bI.ajaxSetup({},b7),cs=ce.context||ce,ch=ce.context&&(cs.nodeType||cs.jquery)?bI(cs):bI.event,cr=bI.Deferred(),co=bI.Callbacks("once memory"),cc=ce.statusCode||{},ci={},cp={},b9=0,cd="canceled",ck={readyState:0,getResponseHeader:function(i){var e;if(b9===2){if(!b8){b8={};while((e=ah.exec(cq))){b8[e[1].toLowerCase()]=e[2]}}e=b8[i.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b9===2?cq:null},setRequestHeader:function(i,ct){var e=i.toLowerCase();if(!b9){i=cp[e]=cp[e]||i;ci[i]=ct}return this},overrideMimeType:function(e){if(!b9){ce.mimeType=e}return this},statusCode:function(i){var e;if(i){if(b9<2){for(e in i){cc[e]=[cc[e],i[e]]}}else{ck.always(i[ck.status])}}return this},abort:function(i){var e=i||cd;if(cm){cm.abort(e)}cg(0,e);return this}};cr.promise(ck).complete=co.add;ck.success=ck.done;ck.error=ck.fail;ce.url=((ca||ce.url||aa)+"").replace(ap,"").replace(aK,b4[1]+"//");ce.type=b7.method||b7.type||ce.method||ce.type;ce.dataTypes=bI.trim(ce.dataType||"*").toLowerCase().match(aF)||[""];if(ce.crossDomain==null){cj=aV.exec(ce.url.toLowerCase());ce.crossDomain=!!(cj&&(cj[1]!==b4[1]||cj[2]!==b4[2]||(cj[3]||(cj[1]==="http:"?"80":"443"))!==(b4[3]||(b4[1]==="http:"?"80":"443"))))}if(ce.data&&ce.processData&&typeof ce.data!=="string"){ce.data=bI.param(ce.data,ce.traditional)}p(w,ce,b7,ck);if(b9===2){return ck}b6=bI.event&&ce.global;if(b6&&bI.active++===0){bI.event.trigger("ajaxStart")}ce.type=ce.type.toUpperCase();ce.hasContent=!r.test(ce.type);cb=ce.url;if(!ce.hasContent){if(ce.data){cb=(ce.url+=(bQ.test(cb)?"&":"?")+ce.data);delete ce.data}if(ce.cache===false){ce.url=R.test(cb)?cb.replace(R,"$1_="+bp++):cb+(bQ.test(cb)?"&":"?")+"_="+bp++}}if(ce.ifModified){if(bI.lastModified[cb]){ck.setRequestHeader("If-Modified-Since",bI.lastModified[cb])}if(bI.etag[cb]){ck.setRequestHeader("If-None-Match",bI.etag[cb])}}if(ce.data&&ce.hasContent&&ce.contentType!==false||b7.contentType){ck.setRequestHeader("Content-Type",ce.contentType)}ck.setRequestHeader("Accept",ce.dataTypes[0]&&ce.accepts[ce.dataTypes[0]]?ce.accepts[ce.dataTypes[0]]+(ce.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):ce.accepts["*"]);for(cl in ce.headers){ck.setRequestHeader(cl,ce.headers[cl])}if(ce.beforeSend&&(ce.beforeSend.call(cs,ck,ce)===false||b9===2)){return ck.abort()}cd="abort";for(cl in {success:1,error:1,complete:1}){ck[cl](ce[cl])}cm=p(a9,ce,b7,ck);if(!cm){cg(-1,"No Transport")}else{ck.readyState=1;if(b6){ch.trigger("ajaxSend",[ck,ce])}if(ce.async&&ce.timeout>0){cf=setTimeout(function(){ck.abort("timeout")},ce.timeout)}try{b9=1;cm.send(ci,cg)}catch(cn){if(b9<2){cg(-1,cn)}else{throw cn}}}function cg(cw,i,cx,cu){var e,cA,cy,cv,cz,ct=i;if(b9===2){return}b9=2;if(cf){clearTimeout(cf)}cm=undefined;cq=cu||"";ck.readyState=cw>0?4:0;e=cw>=200&&cw<300||cw===304;if(cx){cv=g(ce,ck,cx)}cv=ag(ce,cv,ck,e);if(e){if(ce.ifModified){cz=ck.getResponseHeader("Last-Modified");if(cz){bI.lastModified[cb]=cz}cz=ck.getResponseHeader("etag");if(cz){bI.etag[cb]=cz}}if(cw===204||ce.type==="HEAD"){ct="nocontent"}else{if(cw===304){ct="notmodified"}else{ct=cv.state;cA=cv.data;cy=cv.error;e=!cy}}}else{cy=ct;if(cw||!ct){ct="error";if(cw<0){cw=0}}}ck.status=cw;ck.statusText=(i||ct)+"";if(e){cr.resolveWith(cs,[cA,ct,ck])}else{cr.rejectWith(cs,[ck,ct,cy])}ck.statusCode(cc);cc=undefined;if(b6){ch.trigger(e?"ajaxSuccess":"ajaxError",[ck,ce,e?cA:cy])}co.fireWith(cs,[ck,ct]);if(b6){ch.trigger("ajaxComplete",[ck,ce]);if(!(--bI.active)){bI.event.trigger("ajaxStop")}}}return ck},getJSON:function(e,i,b6){return bI.get(e,i,b6,"json")},getScript:function(e,i){return bI.get(e,undefined,i,"script")}});bI.each(["get","post"],function(e,b6){bI[b6]=function(i,b8,b9,b7){if(bI.isFunction(b8)){b7=b7||b9;b9=b8;b8=undefined}return bI.ajax({url:i,type:b6,dataType:b7,data:b8,success:b9})}});bI._evalUrl=function(e){return bI.ajax({url:e,type:"GET",dataType:"script",async:false,global:false,"throws":true})};bI.fn.extend({wrapAll:function(e){if(bI.isFunction(e)){return this.each(function(b6){bI(this).wrapAll(e.call(this,b6))})}if(this[0]){var i=bI(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){i.insertBefore(this[0])}i.map(function(){var b6=this;while(b6.firstChild&&b6.firstChild.nodeType===1){b6=b6.firstChild}return b6}).append(this)}return this},wrapInner:function(e){if(bI.isFunction(e)){return this.each(function(b6){bI(this).wrapInner(e.call(this,b6))})}return this.each(function(){var i=bI(this),b6=i.contents();if(b6.length){b6.wrapAll(e)}else{i.append(e)}})},wrap:function(e){var i=bI.isFunction(e);return this.each(function(b6){bI(this).wrapAll(i?e.call(this,b6):e)})},unwrap:function(){return this.parent().each(function(){if(!bI.nodeName(this,"body")){bI(this).replaceWith(this.childNodes)}}).end()}});bI.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!D.reliableHiddenOffsets()&&((e.style&&e.style.display)||bI.css(e,"display"))==="none")};bI.expr.filters.visible=function(e){return !bI.expr.filters.hidden(e)};var bw=/%20/g,aS=/\[\]$/,X=/\r?\n/g,b=/^(?:submit|button|image|reset|file)$/i,au=/^(?:input|select|textarea|keygen)/i;function j(b6,b8,i,b7){var e;if(bI.isArray(b8)){bI.each(b8,function(ca,b9){if(i||aS.test(b6)){b7(b6,b9)}else{j(b6+"["+(typeof b9==="object"?ca:"")+"]",b9,i,b7)}})}else{if(!i&&bI.type(b8)==="object"){for(e in b8){j(b6+"["+e+"]",b8[e],i,b7)}}else{b7(b6,b8)}}}bI.param=function(e,b6){var b7,i=[],b8=function(b9,ca){ca=bI.isFunction(ca)?ca():(ca==null?"":ca);i[i.length]=encodeURIComponent(b9)+"="+encodeURIComponent(ca)};if(b6===undefined){b6=bI.ajaxSettings&&bI.ajaxSettings.traditional}if(bI.isArray(e)||(e.jquery&&!bI.isPlainObject(e))){bI.each(e,function(){b8(this.name,this.value)})}else{for(b7 in e){j(b7,e[b7],b6,b8)}}return i.join("&").replace(bw,"+")};bI.fn.extend({serialize:function(){return bI.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bI.prop(this,"elements");return e?bI.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bI(this).is(":disabled")&&au.test(this.nodeName)&&!b.test(e)&&(this.checked||!aM.test(e))}).map(function(e,b6){var b7=bI(this).val();return b7==null?null:bI.isArray(b7)?bI.map(b7,function(i){return{name:b6.name,value:i.replace(X,"\r\n")}}):{name:b6.name,value:b7.replace(X,"\r\n")}}).get()}});bI.ajaxSettings.xhr=a5.ActiveXObject!==undefined?function(){return !this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&bE()||bg()}:bE;var aA=0,aj={},ay=bI.ajaxSettings.xhr();if(a5.attachEvent){a5.attachEvent("onunload",function(){for(var e in aj){aj[e](undefined,true)}})}D.cors=!!ay&&("withCredentials" in ay);ay=D.ajax=!!ay;if(ay){bI.ajaxTransport(function(e){if(!e.crossDomain||D.cors){var i;return{send:function(b9,b6){var b7,b8=e.xhr(),ca=++aA;b8.open(e.type,e.url,e.async,e.username,e.password);if(e.xhrFields){for(b7 in e.xhrFields){b8[b7]=e.xhrFields[b7]}}if(e.mimeType&&b8.overrideMimeType){b8.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!b9["X-Requested-With"]){b9["X-Requested-With"]="XMLHttpRequest"}for(b7 in b9){if(b9[b7]!==undefined){b8.setRequestHeader(b7,b9[b7]+"")}}b8.send((e.hasContent&&e.data)||null);i=function(cd,cc){var cb,cg,ce;if(i&&(cc||b8.readyState===4)){delete aj[ca];i=undefined;b8.onreadystatechange=bI.noop;if(cc){if(b8.readyState!==4){b8.abort()}}else{ce={};cb=b8.status;if(typeof b8.responseText==="string"){ce.text=b8.responseText}try{cg=b8.statusText}catch(cf){cg=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=ce.text?200:404}else{if(cb===1223){cb=204}}}}if(ce){b6(cb,cg,ce,b8.getAllResponseHeaders())}};if(!e.async){i()}else{if(b8.readyState===4){setTimeout(i)}else{b8.onreadystatechange=aj[ca]=i}}},abort:function(){if(i){i(undefined,true)}}}}})}function bE(){try{return new a5.XMLHttpRequest()}catch(i){}}function bg(){try{return new a5.ActiveXObject("Microsoft.XMLHTTP")}catch(i){}}bI.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bI.globalEval(e);return e}}});bI.ajaxPrefilter("script",function(e){if(e.cache===undefined){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bI.ajaxTransport("script",function(b6){if(b6.crossDomain){var e,i=n.head||bI("head")[0]||n.documentElement;return{send:function(b7,b8){e=n.createElement("script");e.async=true;if(b6.scriptCharset){e.charset=b6.scriptCharset}e.src=b6.url;e.onload=e.onreadystatechange=function(ca,b9){if(b9||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b9){b8(200,"success")}}};i.insertBefore(e,i.firstChild)},abort:function(){if(e){e.onload(undefined,true)}}}}});var bs=[],a8=/(=)\?(?=&|$)|\?\?/;bI.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=bs.pop()||(bI.expando+"_"+(bp++));this[e]=true;return e}});bI.ajaxPrefilter("json jsonp",function(b7,e,b8){var ca,i,b6,b9=b7.jsonp!==false&&(a8.test(b7.url)?"url":typeof b7.data==="string"&&!(b7.contentType||"").indexOf("application/x-www-form-urlencoded")&&a8.test(b7.data)&&"data");if(b9||b7.dataTypes[0]==="jsonp"){ca=b7.jsonpCallback=bI.isFunction(b7.jsonpCallback)?b7.jsonpCallback():b7.jsonpCallback;if(b9){b7[b9]=b7[b9].replace(a8,"$1"+ca)}else{if(b7.jsonp!==false){b7.url+=(bQ.test(b7.url)?"&":"?")+b7.jsonp+"="+ca}}b7.converters["script json"]=function(){if(!b6){bI.error(ca+" was not called")}return b6[0]};b7.dataTypes[0]="json";i=a5[ca];a5[ca]=function(){b6=arguments};b8.always(function(){a5[ca]=i;if(b7[ca]){b7.jsonpCallback=e.jsonpCallback;bs.push(ca)}if(b6&&bI.isFunction(i)){i(b6[0])}b6=i=undefined});return"script"}});bI.parseHTML=function(b8,b6,b7){if(!b8||typeof b8!=="string"){return null}if(typeof b6==="boolean"){b7=b6;b6=false}b6=b6||n;var i=a.exec(b8),e=!b7&&[];if(i){return[b6.createElement(i[1])]}i=bI.buildFragment([b8],b6,e);if(e&&e.length){bI(e).remove()}return bI.merge([],i.childNodes)};var b1=bI.fn.load;bI.fn.load=function(b7,ca,cb){if(typeof b7!=="string"&&b1){return b1.apply(this,arguments)}var e,b6,b8,i=this,b9=b7.indexOf(" ");if(b9>=0){e=bI.trim(b7.slice(b9,b7.length));b7=b7.slice(0,b9)}if(bI.isFunction(ca)){cb=ca;ca=undefined}else{if(ca&&typeof ca==="object"){b8="POST"}}if(i.length>0){bI.ajax({url:b7,type:b8,dataType:"html",data:ca}).done(function(cc){b6=arguments;i.html(e?bI("
    ").append(bI.parseHTML(cc)).find(e):cc)}).complete(cb&&function(cd,cc){i.each(cb,b6||[cd.responseText,cc,cd])})}return this};bI.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b6){bI.fn[b6]=function(i){return this.on(b6,i)}});bI.expr.filters.animated=function(e){return bI.grep(bI.timers,function(i){return e===i.elem}).length};var bX=a5.document.documentElement;function br(e){return bI.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bI.offset={setOffset:function(b7,ch,cb){var cd,ca,e,b8,b6,cf,cg,cc=bI.css(b7,"position"),b9=bI(b7),ce={};if(cc==="static"){b7.style.position="relative"}b6=b9.offset();e=bI.css(b7,"top");cf=bI.css(b7,"left");cg=(cc==="absolute"||cc==="fixed")&&bI.inArray("auto",[e,cf])>-1;if(cg){cd=b9.position();b8=cd.top;ca=cd.left}else{b8=parseFloat(e)||0;ca=parseFloat(cf)||0}if(bI.isFunction(ch)){ch=ch.call(b7,cb,b6)}if(ch.top!=null){ce.top=(ch.top-b6.top)+b8}if(ch.left!=null){ce.left=(ch.left-b6.left)+ca}if("using" in ch){ch.using.call(b7,ce)}else{b9.css(ce)}}};bI.fn.extend({offset:function(i){if(arguments.length){return i===undefined?this:this.each(function(ca){bI.offset.setOffset(this,i,ca)})}var e,b9,b7={top:0,left:0},b6=this[0],b8=b6&&b6.ownerDocument;if(!b8){return}e=b8.documentElement;if(!bI.contains(e,b6)){return b7}if(typeof b6.getBoundingClientRect!==aC){b7=b6.getBoundingClientRect()}b9=br(b8);return{top:b7.top+(b9.pageYOffset||e.scrollTop)-(e.clientTop||0),left:b7.left+(b9.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}},position:function(){if(!this[0]){return}var b6,b7,e={top:0,left:0},i=this[0];if(bI.css(i,"position")==="fixed"){b7=i.getBoundingClientRect()}else{b6=this.offsetParent();b7=this.offset();if(!bI.nodeName(b6[0],"html")){e=b6.offset()}e.top+=bI.css(b6[0],"borderTopWidth",true);e.left+=bI.css(b6[0],"borderLeftWidth",true)}return{top:b7.top-e.top-bI.css(i,"marginTop",true),left:b7.left-e.left-bI.css(i,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||bX;while(e&&(!bI.nodeName(e,"html")&&bI.css(e,"position")==="static")){e=e.offsetParent}return e||bX})}});bI.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b6,i){var e=/Y/.test(i);bI.fn[b6]=function(b7){return aB(this,function(b8,cb,ca){var b9=br(b8);if(ca===undefined){return b9?(i in b9)?b9[i]:b9.document.documentElement[cb]:b8[cb]}if(b9){b9.scrollTo(!e?ca:bI(b9).scrollLeft(),e?ca:bI(b9).scrollTop())}else{b8[cb]=ca}},b6,b7,arguments.length,null)}});bI.each(["top","left"],function(e,b6){bI.cssHooks[b6]=a7(D.pixelPosition,function(b7,i){if(i){i=G(b7,b6);return Y.test(i)?bI(b7).position()[b6]+"px":i}})});bI.each({Height:"height",Width:"width"},function(e,i){bI.each({padding:"inner"+e,content:i,"":"outer"+e},function(b6,b7){bI.fn[b7]=function(cb,ca){var b9=arguments.length&&(b6||typeof cb!=="boolean"),b8=b6||(cb===true||ca===true?"margin":"border");return aB(this,function(cd,cc,ce){var cf;if(bI.isWindow(cd)){return cd.document.documentElement["client"+e]}if(cd.nodeType===9){cf=cd.documentElement;return Math.max(cd.body["scroll"+e],cf["scroll"+e],cd.body["offset"+e],cf["offset"+e],cf["client"+e])}return ce===undefined?bI.css(cd,cc,b8):bI.style(cd,cc,ce,b8)},i,b9?cb:undefined,b9,null)}})});bI.fn.size=function(){return this.length};bI.fn.andSelf=bI.fn.addBack;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return bI})}var bk=a5.jQuery,I=a5.$;bI.noConflict=function(e){if(a5.$===bI){a5.$=I}if(e&&a5.jQuery===bI){a5.jQuery=bk}return bI};if(typeof av===aC){a5.jQuery=a5.$=bI}return bI}));!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.$indicators=this.$element.find(".carousel-indicators");this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}if(this.interval){clearInterval(this.interval)}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},getActiveIndex:function(){this.$active=this.$element.find(".item.active");this.$items=this.$active.parent().children();return this.$items.index(this.$active)},to:function(f){var d=this.getActiveIndex(),e=this;if(f>(this.$items.length-1)||f<0){return}if(this.sliding){return this.$element.one("slid",function(){e.to(f)})}if(d==f){return this.pause().cycle()}return this.slide(f>d?"next":"prev",b(this.$items[f]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle(true)}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0],direction:l});if(d.hasClass("active")){return}if(this.$indicators.length){this.$indicators.find(".active").removeClass("active");this.$element.one("slid",function(){var e=b(h.$indicators.children()[h.getActiveIndex()]);e&&e.addClass("active")})}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.pause().cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(j){var i=b(this),f,d=b(i.attr("data-target")||(f=i.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),i.data()),h;d.carousel(g);if(h=i.attr("data-slide-to")){d.data("carousel").pause().to(h).cycle()}j.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning||this.$element.hasClass("in")){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning||!this.$element.hasClass("in")){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=b.extend({},b.fn.collapse.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){if("ontouchstart" in document.documentElement){f('