UNPKG

@boristype/types

Version:

<h1 align="center">WT Types</h1> <div align="center"> Typescript типы для WebSoft HCM.

391 lines (334 loc) 21.1 kB
/** * Объект XmlFormElem соответствует элементу загруженной формы. * Обычно используется для анализа содержимого формы. */ interface XmlFormElem { AllowHide: unknown; /** * Возвращает список имен всех кастомных XML-атрибутов элемента формы в виде массива строк. */ AttrNames: string[]; /** * Возвращает индекс текущего элемента формы внутри родительского элемента, начиная с 0. * Если родительского элемента нет - возвращается ошибка. */ ChildIndex: number | never; /** * Возвращает значение атрибута COL-ALIGN, описанного в XMD-форме. */ ColAlign: string; /** * Возвращает значение атрибута COL-TITLE, описанного в XMD-форме. */ ColTitle: string; /** * Возвращает значение атрибута DEFAULT, описанного в XMD-форме. * Атрибут доступен на запись. */ DefaultValue: string; /** * Возвращает значение атрибута EXP-MAX-LEN, описанного в XMD-форме. */ ExpMaxLen: number; /** * Возвращает значение атрибута EXPR, описанного в XMD-форме. * Атрибут доступен на запись. */ Expr: string; /** * Возвращает значение атрибута EXPR-INIT, описанного в XMD-форме. * Атрибут доступен на запись. */ ExprInit: string; /** * Возвращает исходное выражение, описанное в атрибуте FOREIGN-ARRAY. * Исходное выражение восстанавливается из разобранного выражения, * и из-за этого может несущественно отличаться от описанного в атрибуте FOREIGN-ARRAY. * Например, могут быть утрачены пробелы и комментарии. * Если атрибут FOREIGN-ARRAY в форме элемент не описан, возвращается ошибка. * Атрибут доступен на запись. */ ForeignArrayExpr: string | never; /** * Позволяет установить заначение атрибута FT у элемента XMD-формы. * Атрибут доступен только на запись. */ FtUseValue: unknown; /** * Возвращает true, если у элемента формы установлен атрибут HIDDEN="1". */ IsHidden: boolean; /** * Возвращает true, если элемент XMD-формы содержит атрибут INDEXED="1", и false в любом другом случае. * Атрибут доступен на запись. */ IsIndexed: boolean; /** * Проверяет, является ли текущий элемент методом, или нет. * Если является, возвращает true, если нет - false. */ IsMethod: boolean; /** * Проверяет, является ли элемент множественным, то есть содержит ли XMD-форма атрибут MULTIPLE="1". * Если является, возвращает true, если нет - false. * Атрибут доступен на запись. */ IsMultiple: boolean; /** * Возвращает true, если у элемента формы установлен атрибут NOT-NULL="1". */ IsNotNull: boolean; /** * Проверяет, содржит ли текущий элемент XMD-формы атрибут TEMP="1". * Атрибут доступен на запись. */ IsTemp: boolean; /** * Возварщает имя элемента, описанное в XMD-форме. * Атрибут доступен на запись, но эта возможность, как правило, не используется, * так как элемент получает имя при создании, и потом нет смысла изменять имя элемента. */ Name: string; /** * Проверяет, содержит ли текущий элемент XMD-формы атрибут NULL-FALSE="1". * Атрибут доступен на запись. */ NullFalse: boolean; /** * Возвращает родительский элемент формы по отношению к данному элементу формы. * Для элементов формы верхнего уровня возвращает undefined. */ OptParent: unknown | undefined; /** * Возвращает исходное выражение, описанное в атрибуте PRIMARY-DISP-NAME. * Исходное выражение восстанавливается из разобранного выражения. * Если атрибут PRIMARY-DISP-NAME в форме элемент не описан, возвращается undefined. */ OptPrimaryDispName: string | undefined; /** * Возвращает родительский элемент формы по отношению к данному элементу формы. * Для элементов формы верхнего уровня возвращает саму форму, для самой формы возвращает undefined. */ OptStrictParent: unknown | undefined; /** * Возвращает значение атрибута PRIMARY-KEY элемента формы. */ PrimaryKeyName: unknown; /** * Если это обычный элемент, возващает его тип. * А если это метод, то возвращает то, что стоит в поле RESULT-DATA-TYPE. */ ResultDataType: unknown; /** * Возвращает описание местоположения элемента формы в исходном коде, например "x-app://rcr/vacancy.xmd, line 114". * Обычно используется в отладочных целях, либо для выдачи сообщения об ошибке. */ SourceDesc: unknown; /** * Возвращает подтип для элемента формы типа "string". * Возможные значения: "html", "binary", "code", "url". В остальных случаях возвращает пустую строку. */ SubType: "html" | "binary" | "code" | "url" | ""; /** * Возвращает заголовок элемента XMD-формы, который был описан атрибутом TITLE. * Атрибут доступен на запись. */ Title: string; /** * Возвращает корневой элемент XMD-формы. * Если корневой элемент установить невозможно, возвращается ошибка. */ TopElem: XmlFormElem | never; /** * Возвращает тип элемента, который был описан в XMD-форме в атрибуте TYPE. */ Type: string; /** * Возвращает содержимое текущего элемента, включая дочерние элементы, * если они есть, в виде строки в "каноническом" формате XML. */ Xml: string; /** * @deprecated * Устаревший метод. Рекомендуется использовать {@link SetAttr}. */ AddAttr(): unknown; /** * Добавляет дочерний элемент формы и возвращает указатель на него. * Используется для динамической генерации форм, например, в генераторе отчетов и видов. * @param {string} name - Имя дочернего элемента. * @param {string} type - Тип элемента. По умолчанию без типа. */ AddChild(name: string, type?: string): XmlFormElem; /** * Добавляет заранее созданный дочерний элемент формы в качестве дочернего элемента. * Используется для динамической генерации форм, например, в генераторе отчетов и видов. * Дочерний элемент может быть создан через через функцию {@link CreateFormElem} или метод {@link Clone}. * @param {XmlFormElem} childElem - Дочерний элемент формы. * Смотри также {@link InsertChildElem}. */ AddChildElem(childElem: XmlFormElem): unknown; /** * Возвращает дочерний элемент по имени. * Если элемента с заданным именем нет, выдает ошибку. * @param {string} name - Имя дочернего элемента. * Смотрите также {@link OptChild}. */ Child(name: string | number): XmlFormElem | never; /** * Возвращает дочерний элемент по индексу. * Если элемента с заданным именем нет, выдает ошибку. * @overload * @param {number} name - Индекс дочернего элемента. * Смотрите также {@link OptChild}. */ Child(name: number): XmlFormElem | never; /** * Проверяет, существует ли дочерний элемент с заданым именем. * @param {string} name - Имя элемента. */ ChildExists(name: string): boolean; /** * Создает клон текущего элемента формы и возвращает ссылку на него. * Новый элемент не имеет родительского элемента. * Используется для динамической генерации форм, например, в генераторе отчетов и видов. */ Clone(): XmlFormElem; /** * Удаляет элемент формы. * Метод используется крайне редко, обычно в генераторах или редакторах форм. */ Delete(): unknown; /** * Удаляет дочерний элемент формы по порядковому индексу. * Метод используется крайне редко, обычно в генераторах или редакторах форм. * @param {number} index - Порядковый индекс дочернего элемента формы. */ DeleteChild(index: number): unknown; /** * Выполняет код, содержащийся в атрибуте элемента формы. * В отличие от обычных функций {@link eval}, {@link ExtEval} и пр., * выполнение кода в атрибуте дает лучшую диагностику ошибок, * поскольку вместо "Unknown source, line xxx" будет выдаваться сообщение с правильным источником исходного кода. * @param {string} name - Имя атрибута. Если атрибут с данным именем отсутствует, возвращается ошибка. * @param {unknown[]} objects - Массив объектов, формирумых окружение (по аналогии с конструкцией with{}) * Узкоспециализированный метод. * Используется в автоматических генераторах экранных форм. */ EvalCodeAttr(name: string, objects: unknown[]): unknown | never; /** * Метод возвращает элемент формы вниз по иерархии с заданным путем относительно текущего элемента. * Если элемент не найден, возвращает undefined. * Если в аргументе path передать имя элемента (без "."), то метод будет работать также как {@link OptChild}. * @param {string} path - Путь к элементу (через "."). */ EvalOptPath(path: string): XmlFormElem | never; /** * Возвращает внутренний (то есть ниже лежащий по иерархии относительно текущего элемента) элемент по заданному пути. * Если путь неверный, возвращается ошибка. * @param {string} path - Путь от текущего до целевого элемента, с разделением имен узлов точками. */ EvalPath(path: string): unknown; /** * Работает с только с дополнительными атрибутами элемента формы. * Выводит значение дополнительного атрибута булевского типа, в том виде, как он был описан в XMD-форме. */ GetBoolAttr(): boolean; /** * Возвращает значение кастомного атрибута элемента формы. * Значение возвращается в виде строки. * Если атрибут с данным именем отсутствует, возвращает undefined. * @param {string} name - Имя атрибута. */ GetOptAttr(name: string): unknown | undefined; /** * Метод возвращает значение кастомного булевого ("0" или "1") атрибута в элементе формы. * Возвращаемое значение: true или false. * Если атрибут отсутствует, функция возвращает undefined. * @param {string} name - Имя атрибута. */ GetOptBoolAttr(name: string): boolean | undefined; /** * Возвращает значение кастомного атрибута элемента формы, обработанное по правилам подстановки языковых фраз. * Значение возвращается в виде строки. * Если атрибут с данным именем отсутствует, возвращает undefined. * @param {string} name - Имя атрибута. */ GetOptUiAttr(name: string): boolean | undefined; /** * Возвращает значение кастомного атрибута элемента формы, содержащего url. * Функция осуществляет проверку на формат url и, при необходимости, * конвертацию относительного url в абсолютный, с учетом базового url формы. * Если атрибут с данным именем отсутствует, возвращает undefined. * @param {string} name - Имя атрибута. */ GetOptUrlAttr(name: string): boolean | undefined; /** * Используется при динамической генерации форм. * Добавляет определенное количество дочерних элементов, описанных в элементе-образце. * Выполняет "на лету" действие конструции INHERIT. * При этом, если в форме методом Inherit изменяется элемент, * от которого наследуются другие элементы при помощи конструкции INHERIT, * то изменений в этих наследуемых элементах не происходит. */ Inherit(): XmlFormElem; /** * Добавляет дочерний элемент формы в заданную позицию и возвращает указатель на него. * Используется для динамической генерации форм, например, в генераторе отчетов и видов. * @param {string} name - Имя дочернего элемента. * @param {string} type - Тип элемента. * @param {number} index - Порядковый индекс дочернего элемента. */ InsertChild(name: string, type: string, index: number): unknown; /** * Добавляет заранее созданный дочерний элемент формы в заданную позицию. * Используется для динамической генерации форм, например, в генераторе отчетов и видов. * Дочерний элемент может быть создан через через функцию {@link CreateFormElem} или метод {@link Clone}. * @param {XmlFormElem} child - Дочерний элемент формы. * @param {number} index - Порядковый индекс дочернего элемента. * Смотри также: {@link AddChild}, {@link AddChildElem}. */ InsertChildElem(child: XmlFormElem, index: number): unknown; /** * Проверяет, является ли текущий элемент формы нижестоящим по иерархии по отношению к другому элементу формы. * @param {XmlFormElem} el - Вышестоящий элемент формы. */ IsDescendantOf(el: XmlFormElem): boolean; /** * В качестве аргумента этот метод принимает такой же элемент типа {@link XmlFormElem}, и далее проверяет, * является ли текущий элемент его дочерним элементом (через один или несколько уровней), * и стоит ли на одном или нескольких уровнях конструкция MULTIPLE. * Редко используемый метод. * @param {XmlFormElem} el - Элемент. */ IsMultipleRecChild(el: XmlFormElem): boolean; /** * Добавляет к данному элементу дочерние элементы, которые были описаны в виде строки в "каноническом" виде XML. * @param {string} xml - Строка с описанием элементов XML. */ LoadChildTags(xml: string): XmlFormElem; /** * Возвращает дочерний элемент по имени. * Если элемента с заданным именем нет, возвращает undefined. * @param {string} name - Имя дочернего элемента. */ OptChild(name: string): XmlFormElem | undefined; /** * Проверяет существует ли вложенный (то есть ниже лежащий по иерархии относительно текущего элемента) * элемент по заданному пути относительно текущего. * @param {string} path - Путь от текущего до целевого элемента, с разделением имен узлов точками. */ PathExists(path: string): boolean; /** * Устанавливает значение кастомного атрибута у элемента формы. * @param {string} name - Имя атрибута. * @param {T} value - Значение атрибута. */ SetAttr<T>(name: string, value: T): unknown; /** * Переставляет данный элемент формы на другую позицию среди дочерних элементов его родительского элемента. * Метод используется крайне редко, обычно в генераторах или редакторах форм. * @param {number} index - Новый порядковый индекс элемента. */ SetChildIndex(index: number): unknown; }