ub-server #

Added #

5.17.6 2019-12-17 #
  • support for uba_auditTrail.actionUserName - if attribute actionUserName is available in uba_auditTrail it will be filled by Session.userName value

Changed #

5.17.7 2019-12-24 #
  • ALS mixin internal optimization (prevent unnecessary initialization of ALS data for insert/update for entities w/o ALS)
5.17.6 2019-12-17 #
  • improve getDomainInfo endpoint performance from 1% up to 10% for apps with big domains by caching a rolesByIndex result
  • improve Domain.byName performance by using binary search instead of linear

Fixed #

5.17.7 2019-12-24 #
  • JS debugger: script line numeration should start from 1 - this fix 1-line up shift while debugging
  • Session.setUser(uID, secret) will create a persisted session (as expected by prev. UB's version) instead on one-time session.
5.17.5 2019-12-05 #
  • prevent hard deletion of Many attribute values in case entity.mixins.mStorage.safeDelete: true

@unitybase/adminui-vue #

Added #

1.9.12 2019-12-30 #
  • global Vue component SignatureVerificationResult - view for pki().verify
1.9.11 2019-12-27 #
  • uba_user-changeUserPassword-fm.vue - changed form ExtJS to vue for changing user password
  • OpenIDConnect authorization support for adminui-vue
1.9.9 2019-12-19 #
  • USidebarButton - component for use in sidebar slot
1.9.8 2019-12-18 #
  • UForm/mount/mountTableEntity prop cfg.isModal. For render grid in modal
  • UTableEntity audit action
  • UTableEntity prop onSelectRecord. Overrides the record selection event. That is, double click or enter
  • UTableEntity all toolbar slots is scoped and provides store and close action. store need for access table data from slot, for example "select record button". close calls close action which provides from root component.
  • UTableEntity added audit action to toolbar
  • UTableEntity added slot for audit action in toolbar
1.9.7 2019-12-17 #
  • support for new attribute uba_auditTrail.actionUserName
1.9.5 2019-12-11 #
  • doCommand -> showList param cfg.cmdData.slots. Array of functions which returns vue components. Vue component can be created by render function which accept createElement function as argument. See UTableEntity documentation for list ov available slots. Example:
$App.doCommand({
    renderer: 'vue',
    cmdType: 'showList',
    cmdData: {
      entityName: 'uba_user',
      slots: [
        (createElement) => createElement('div', { slot: 'name' }, 'name replaced value'), // replace column name
        (createElement) => createElement('div', { slot: 'toolbar' }, 'replaced whole toolbar'), // replace toolbar
      ]
    }
  })
  • USelectEntity, USelectMultiple adds warning icon in case value is not found instead of throwing error
1.9.3 2019-12-05 #
  • UFileInput binds all props to underline input controls using v-bind. This allow,s for example, to pass accept property value
  • new property UFile.accept - optional comma-separated unique “content type specifiers”
  • UFileInput binds all props to underline input controls using v-bind. This allows, for example, to pass accept property value
  • new property UFile.accept - optional comma-separated unique “content type specifiers”
  • UTable - Added column param isHtml. If set true will render content as v-html directive.
  • UTable - Added column format. Format the cell value for display. Will be ignored if is set custom slot. Example:
 {
   id: 'attributeCode',
   label: 'Example',
   format ({value, row, column}) {
     return value + 1
   }  
 }
1.9.1 2019-12-02 #
  • UFileInput binds all props to underline input controls using v-bind. This allows, for example, to pass accept property value
  • UFile new property accept - optional comma-separated unique “content type specifiers”
  • UContextMenu - added prop width
  • Styles which adds padding: 1em to <form> inside u-form-layout class. So UFormContainer will have padding just only if it is a direct descendant of the u-form-layout
  • USelectEntity added props buildShowDictionaryConfig, buildEditConfig, buildAddNewConfig. This props can override doCommand configs for base actions (edit, addNew, showDictionary). Function gets a current config as argument and must return a new config. Example in component docs.
  • UTableEntity added props buildEditConfig, buildAddNewConfig, buildCopyConfig. This props can override doCommand configs for base actions (edit, addNew, сopy). Function gets a current config as argument and must return a new config. Example in component docs.
  • UTableEntity toolbar slots:
    • toolbar - Replace whole toolbar
    • toolbar-prepend - Prepend new buttons to toolbar
    • toolbar-button-add-new - Replace add-new button in toolbar panel
    • toolbar-append - Prepend new buttons to toolbar before filter
    • toolbar-dropdown - Replace whole toolbar dropdown
    • toolbar-dropdown-prepend - Prepend new buttons to toolbar
    • toolbar-dropdown-add-new - Replace add-new button in toolbar dropdown
    • toolbar-dropdown-edit - Replace edit button in toolbar dropdown
    • toolbar-dropdown-copy - Replace copy button in toolbar dropdown
    • toolbar-dropdown-delete - Replace delete button in toolbar dropdown
    • toolbar-dropdown-append - Append new buttons to toolbar

Changed #

1.9.12 2019-12-30 #
  • authentication form will show error in dialog window instead of floating notification
1.9.9 2019-12-19 #
  • additional parameter row added to UTableEntity.onSelectRecord callback as cfg.row parameter Full function signature is function({ID: Number, row: Object, close: function})
1.9.8 2019-12-18 #
  • USelectEntity show dictionary action show's UTableEntity grid
  • UForm/mount/mountModal by default removes paddings from dialog body of ElDialog
  • BREAKING UTableEntity renamed all named slots from kebab-case to camelCase. In case pass scopedSlots param in UForm/mount/mountTableEntity
  • UTableEntity filter submit icon changed from el-icon-check to el-icon-search
1.9.7 2019-12-17 #
  • UAutoField -> date-picker first day of the week is taken from the current locale of moment.js. AdminUI take cares of switching moment locale according to user language
  • UFormRow will use flex-direction:column instead of display:block` css rule. This allow to stretch internal content to the full height
1.9.5 2019-12-11 #
  • processing -> save validation will try to localize entity attribute using UB.i18n
1.9.3 2019-12-05 #
  • updated dependency vue@2.6.8 -> 2.6.10
  • updated dependency vuex@3.1.0 -> 3.1.2
  • updated dependency element-ui@2.12.0 -> 2.13.0
  • UTableEntity table cell value formats value as html. In case when full text search result returns <b> tag as string.
1.9.1 2019-12-02 #
  • UContextMenu - hide icon div when iconCls is unset
  • UToolbarButton added slot for add text to button
  • UToolbarButton prop icon-cls renamed to icon
  • UToolbarButton prop icon-color renamed to color. Colors list - primary | secondary | info | danger | warning
  • UFormContainer refactor from commonjs to vue component
  • UFormContainer removed padding and inner div

Removed #

1.9.11 2019-12-27 #
  • USelectCollection prop entityName removed in flavor of computed property entityName
1.9.3 2019-12-05 #
  • deprecated event desktopChanged for UB.core.UBApp ($App in global) is removed. Instead adminui-vue fires $App.fireEvent('portal:sidebar:desktopChanged', desktopId)
  • deprecated $App.getDefaultDesktop $App.getDesktop $App.setDesktop are removed
  • deprecated UB.core.UBStoreManager.getDesktopStore is removed
  • ubm_desktop no longer loaded by Ext UB.core.UBStoreManager (only by adminui-vue)

Fixed #

1.9.12 2019-12-30 #
  • UFile & UTableEntity will display original (human readable) file name instead of store specific (autogenerated) file name; Also original file name is used for file download operation
1.9.11 2019-12-27 #
  • show actual text instead of empty <<< >>> in error window in case unhandled rejection message contains <<<text>>>
  • prevent multiple emitting of input event in case UInput is of type number
  • UIconPicker: entering an icon class manually doesn't drop an error
  • dynamically update desktops in sidebar on change in ubm_desktop form
  • prevent showing of form validation error twice in case user close tab on the unsaved form and validation error occures
  • enum filter template of UtableEntity displays the correct locale in the filter list
1.9.9 2019-12-19 #
  • UAutoField provide all $attrs to UFormRow and inner element in slot. This allow, for example, to override a label position for individual field:
    <u-form-container v-loading="loading" label-position="top">
       <u-auto-field attribute-name="host" label-position="left"/>
       ...
    
1.9.8 2019-12-18 #
  • UCodeMirror: null values showing fixed
  • UFormRow added additional verification to el-select click hack
  • UToolbar audit action
1.9.7 2019-12-17 #
  • USelectEntity/USelectMultiple: prevent exception Error in build SQL "where" expressions: item "XXX" not found ordinar item with name "YYY" while fetching a display value
  • ElSelect wrapped by UFormRow no longer breaks arrow click behavior
  • UFile - more accurate work with previewURL inside control, to prevent situation, when previewUrl is still set, but value is no longer valid due to window.URL.revokeObjectURL call.
1.9.6 2019-12-12 #
  • Fixed error when filtering Date type columns in USelectEntity using range shortcuts
1.9.5 2019-12-11 #
  • disable UTable header click for columns with sortable: false
  • UFormRow with error adds red border to USelectMultiple
  • USelectEntity, USelectMultiple fetching of display value ignore passed whereList. This fix situation when value what already selected do not match filter conditions.
1.9.3 2019-12-05 #
  • prevent UDialog to close on click outside dialog window
  • USelectMany prevent split is not defined exception in case DB is SQLite3 and only one value is selected
  • UNavbar search widget
1.9.1 2019-12-02 #
  • mountContainer will provide fake $formServices to allow use UToolbar inside vue form mounted by mountContainer
  • USelectEntity close opened dropdown's if clicked arrow of another select. Previously it didn't closed if click on arrow
  • UFile prevent opening preview dialog on press enter button in another input in same form

@unitybase/adminui-pub #

Added #

5.12.17 2019-12-17 #
  • support for new attribute uba_auditTrail.actionUserName

Changed #

5.12.20 2019-12-27 #
  • BREAKING UB.core.UBUtil.glyphs is removed. See below.
  • BREAKING adminUI migrates from FontAwesome4 to "Font Awesome 5 free". For migrating Ext based forms please, replace all glyph properties to iconCls (the simplest way is to search all glyphs. occurrences). Example:
  // OLD code
  glyph: UB.core.UBUtil.glyphs.faFilter,
  // should become 
  iconCls: 'fa fa-filter',
  • all occurrences of "font-awesome" in all package.json should be removed

Fixed #

5.12.19 2019-12-20 #
  • audit action for Ext based forms (BasePanel descendants) will be shown in Tab in case form shown in tab
5.12.18 2019-12-18 #
  • EntityGridPanel audit action
  • BasePanel audit action
5.12.9 2019-12-04 #
  • prevent "brain split" of Vue global instance onto 2 part in production version

amqp #

Fixed #

1.0.36 2019-12-17 #
  • linux build: links to valid libsynmozjs52.so

@unitybase/blob-stores #

Changed #

5.1.7 2019-12-27 #
  • FileSystemBlobStore.saveContentToTempStore will return a real file md5 instead of empty string. This allows preventing downloads of the same file several times.

@unitybase/cdn #

Added #

5.3.26 2019-12-27 #
  • description for 'Common dictionary' desktop (+localization)
5.3.19 2019-12-11 #
  • navigation shortcuts for Banks and Streets
5.3.7 2019-12-02 #
  • synchronization of the user's email with the employee's contact

Changed #

5.3.17 2019-12-04 #
  • BREAKING!!! Classifiers entities renamed, all over the code (navigation, etc)
    • cdn_classifiertype => cdn_classifier
    • cdn_classifier => cdn_classifieritem
  • Renamed title to name for both entities
  • Made cdn_classifier.name and cdn_classifier.description attributes multi-language
  • Remove stateCode from cdn_classifier as a bit too specific to be in generic dictionary. If you need this (or any other) attribute, either request a JSON attribute in this dictionary or use entity override feature for your project.
  • Add format description for classifiers for ub-migrate (the _date/formats.js).

Fixed #

5.3.24 2019-12-18 #
  • Russian language name in initial data for "ru" and "tg"

@unitybase/compressors #

Fixed #

5.1.23 2019-12-17 #
  • linux build: links to valid libsynmozjs52.so

@unitybase/cs-shared #

Added #

5.1.14 2019-12-17 #
  • new method CustomRepository.clearWhereList - remove all where conditions from Repository. Should be used instead of direct access to the private CustomRepository.whereList property

@unitybase/mailer #

Fixed #

5.1.21 2019-12-17 #
  • linux build: links to valid libsynmozjs52.so

@unitybase/openid-connect #

Changed #

5.0.109 2019-12-24 #
  • Skip user information request in case provider.userInfoUrl is empty (ADFS 3 does not implement this, JWT token what contains user information is used instead)
  • Set default value for getOnFinishAction event. The default value is suitable for "adminui" form.

@unitybase/adminui-reg #

Fixed #

5.3.20 2019-12-20 #
  • Add CSP rules for PDF.js Firefox extension

@unitybase/pdf #

Fixed #

5.0.27 2019-12-12 #
  • long text box now correctly spilled onto more when 2 pages (PDFtextBox)
5.0.26 2019-12-11 #
  • PDFtextBox with textIndent incorrect split on page
5.0.25 2019-12-11 #
  • invalid size of text-indent attribute in htmlToPDF transformation

@unitybase/ub-pub #

Added #

5.4.0 2019-12-30 #
  • service function UB.file2Uint8Array:
 let f = document.getElementById('inputOfTypeFile').files[0]
 ui8Arr = await UB.file2Uint8Array(f)
  • definition for SignatureValidationResult
  • definition for UbPkiInterface
5.3.35 2019-12-18 #
  • feature of i18n function to translate its arguments. The syntax {0:i18n} or {foo:i18n} shall be used.
    • Examples:
      const UB = require('@unitybase/ub-pub')
      const result = UB.i18n('my_string_key', 'value')
      // for my_string_key = 'Error value: {0}', will return 'Error value: value', just as before 
      // for my_string_key = 'Error value: {0:i18n}', will return 'Error value: Value', the "value" itself will be i18n-ed 
      const result2 = UB.i18n('my_string_key', {value: 'value'})
      // for my_string_key = 'Error value: {value}', will return 'Error value: value', just as before 
      // for my_string_key = 'Error value: {value:i18n}', will return 'Error value: Value', the "value" itself will be i18n-ed 
      
  • AsyncConnection already parses and translate encoded error messages from the server. For example <<<Some error>>> string will be converted into Some error, moreover, if the string matches i18n resource key, it gets translated. Now, this feature gets even more sophisticated, it supports passing string formatting arguments. For example, the error returned by server <<<file_not_found>>>|["bad_file_name"] will be translated using call i18n('file_not_found', 'bad_file_name') and if the i18n resource is 'The file "{0}" is not accessible or does not exist', the actual message will be: "The file "bad_file_name" is not accessible or does not exist".

Removed #

5.4.0 2019-12-30 #
  • AsyncConnection.authHandshakeCERT & authHandshakeCERT2 are REMOVED. Instead AsyncConnection.pki() will return UbPkiInterface universal interface for PKI operations.

Fixed #

5.4.0 2019-12-30 #
  • native messages warning texts english grammar
  • fix of feature of i18n function to translate its arguments for server running in production mode

@unitybase/ub #

Changed #

5.3.9 2019-12-20 #
  • Improved JSON schema for ubConfig.json: add support for uiSetting.cspAllow
5.3.8 2019-12-18 #
  • UBAbort constructor now accept optional additional arguments, which will be passed down to client. Anticipated scenario of usage:
    throw new UB.UBAbort('<<<file_not_found>>>', 'bad_file.name')
    
    The "file_not_found" i18n string on client should be like 'File "{0}" is not found or not accessible'.

@unitybase/uba #

Added #

5.3.22 2019-12-27 #
  • icon for administrator desktop
  • description for administrator desktop (+localization)
5.3.19 2019-12-17 #
  • new attribute uba_auditTrail.actionUserName

Changed #

5.3.19 2019-12-17 #
  • uba_auditTrail.actionUser attribute data type is changed form Entity->uba_user to ID. This prevents DDL generator from creating a check constraint to uba_user table and allow to move uba_auditTrail to other Database by overriding a uba_auditTrail.connectionName (applicable for huge audits)

Fixed #

5.3.16 2019-12-02 #
  • ALS edit form: fix broken layout for table with pinned header/column by replacing render component from ElTable to UTable

@unitybase/ubcli #

Added #

5.4.5 2019-12-12 #
  • ubcli linkStatic can generate cmd script if executed under Windows

Changed #

5.4.6 2019-12-17 #
  • ubcli generateNginxCfg will force adding redirect 80 -> 443 in case external URL is https

Fixed #

5.4.9 2019-12-19 #
  • DDL generation for PostgreSQL 12 and UP; DDL generator now use pg_get_constraintdef(oid) for getting check constraints instead of obsolette pg_constraint.consrc
5.4.4 2019-12-11 #
  • ubcli generateNginxCfg will always use / in staticRoot locations path independently of platform

@unitybase/ubm #

Added #

5.2.38 2019-12-17 #
  • Vue form template now adds component name for form component (name: 'form-code'). This simplify debugging using VueDevTools
  • double click on attribute in form editor will add <u-auto-field> to the form JS for Vue forms
5.2.32 2019-12-09 #
  • ubm_query entity, navigation shortcut for the entity (autoform is used). The entity is intended to be used as as "dictionary of dictionaries" and contain actual UBQL (as a JSON attribute) to be executed. Useful for any sort of custom fields, which need to refer system dictionaries.

@unitybase/ubq #

Fixed #

5.2.61 2019-12-11 #
  • optimized ubq_messages.addqueue:
    • remove fieldList form insertion to prevent select after insert
    • use global DataStore('uba_messages') instance instead of call to UB.DataStore for each method call

@unitybase/ubs #

Changed #

5.2.59 2019-12-12 #
  • @unitybase/pdf && @unitybase/xslx packages are moved into "peerDependencies" - "optionalDependencies" handled by lerna in the same way as "dependencies"
5.2.58 2019-12-12 #
  • @unitybase/pdf && @unitybase/xslx packages are moved into "optionalDependencies" package/.json section. This prevent lerna from publishing @unitybase/ubs and all their dependencies each time pdf or xlsx changed

Fixed #

5.2.61 2019-12-18 #
  • @unitybase/pdf && @unitybase/xslx packages are moved back into "dependencies" - neither "peerDependencies" nor "optionalDependencies" not works as expected for initial lerna bootstrap

@unitybase/org #

Added #

5.2.43 2019-12-27 #
  • description for 'Org. structure' desktop (+localization)
5.2.30 2019-12-02 #
  • synchronization of the org_employee's fullFIO attribute into uba_user fullName (in case employee is assigned to some user)
  • Entity org_execgroup, which is a part of organizational structure, is unitType is EXECGROUP. The detail entity org_execgroupmember contains its members, which are org_staffunit. Business value of this entity is ability to use a group of staff units at once, for example for task assignment, like parallel approvals. Added a navigational menu item for this dictionary in org_desktop.

Fixed #

5.2.35 2019-12-09 #
  • synchronization of the org_employee into uba_user in case org_employee.userID is null
5.2.34 2019-12-09 #
  • synchronization of the org_employee into uba_user on insert operation
  • a typo in English enum name: "Staffunit" => "Staff unit"
5.2.33 2019-12-05 #
  • synchronization of the org_employee fullFIO attribute into uba_user fullName (in case employee is assigned to some user):
    • actually checked if employee is assigned to some user to prevent bug
    • sync not only fullFIO, but firstName and lastName
    • do not load data not present in execParams, get it from selectBefureUpdate dataset
    • do not do sync, if any of name attributes present in execParams
  • synchronization of the cdn_contact to uba_user email, fixes:
    • was incorrect check for contact type