Для файлових та табличних атрибутів можна керувати станом кнопок під час виконання: видимістю, доступністю кнопок управління (як нативних кнопок так і кнопок створених зі скриптового модуля). Для керування кнопкою спочатку звертаємося до елемента керування getNodeControl(‘ID атрибута’), потім до самої кнопки getButton(‘код кнопки’). Коди кнопок наведені в меню “Дії з файлами” при виборі атрибута в конструкторі типу документа/форми завдання. Об’єкт доступу до кнопки має такі методи:
- hidden – логічне значення, що вказує, чи ця кнопка прихована
- hide() – функція, що приховує цю кнопку, якщо вона не прихована
- show() – функція, яка показує цю кнопку, якщо вона прихована
- disabled- логічне значення, що вказує, чи ця кнопка відключена; Примітка: кнопка може бути відключена за власною логікою (не можна видалити підпис, якщо вона відсутня, наприклад) не тільки з модуля скрипту
- enable() – функція включення цієї кнопки, якщо вона не прихована та відключена
- disable() – функція, що відключає цю кнопку, якщо вона не прихована та не відключена
hidden, hide(), show(), disabled, enable(), disable() можно використовувати для файлових атрибутів; hidden, hide(), show() для табличних атрибутів.
28.64. Файловий атрибут. Перед збереженням приховати кнопку “Завантажити”, якщо завантажено документ.
|
module.exports = { async beforeSave(event) // проверка загружен документ или нет, если загружен скрываем кнопку “Завантажити” |
28.65. Файловий атрибут. Перед збереженням відключаємо кнопку “Підписати файл”, якщо документ уже підписано. Відключаємо кнопку “Завантажити підписи”, якщо кнопку “Підписати файл” відключено.
|
const {showErrorWindow} = require(‘@unitybase/ub-pub’) // необходимо для отображения уведомлений module.exports = { async beforeSave(event) if (!docImageFile.isSigned) //проверяем подписан ли документ if (docImageControl.getButton(‘signDoc’).disabled) |
28.66. Файловий атрибут. Приховуємо/показуємо кнопки “Видалити”, “Завантажити” під час переходу станів, дозволяємо скачати вкладення по натисканню на кнопку, якщо кнопка “Завантажити” прихована.
|
module.exports = { |
28.67. Табличний атрибут. Ховаємо кнопки “Імпортувати”, “Додати” при завантаженні форми, показуємо кнопки при зміні стану, при натисканні на кнопку “Зберегти” показуємо статус кнопок.
|
const {showErrorWindow} = require(‘@unitybase/ub-pub’) // необходимо для отображения уведомлений module.exports = { docImageControl.getButton(‘addNew’).hide() const docImageControl = event.form.getNodeControl(’32’) //ID табличного атрибута async saved(event) //после сохранения документа показываем статус кнопок. if (docImageControl.getButton(‘addNew’).hidden && docImageControl.getButton(‘import’).hidden) |
