@unitybase/adminui-vue #
Added #
5.20.2 2021-03-31 #
- USidebar: improved UX by adding a different background color for different nesting level and mark an expanded
groups. For themas colors can be customized using
--l-sidebar-depth-?CSS variables and selectors overdata-ub-level="?"HTML data attributes
5.20.0 2021-03-25 #
- UTableEntity: icon for "No sorting" option in the column sorting menu added
5.19.8 2021-03-23 #
- default authentication form (ub-auth.html) handle a
uiSettings.adminUI.forgotPasswordURLparameter from config. In case parameter is empty or not exists (default) then forgot password link do not displayed on the authentication form. Otherwise, a link to the specified URL is displayed
5.19.6 2021-03-15 #
- UTableEntity. Added label localization in card view (UCardView)
- UButtonGroup. Added the new prop
directionwith two optionshorizontalby default and the newverticalone - UDropdown. Added the new prop
refElementfor used to position the popper
5.19.5 2021-03-03 #
- Checking
uiSettings.adminUI.disableScannerconfig property inUFileandUNavbarUserButton. If true, then scan buttons are hidden in toolbars - UCrop: new component for edit images: crop, rotate, flip
- UFileWebcamButton: drop down menu for choose the working regime:
scan to PDForscan to Picture,scan to PDF: save one or more images to the PDF file, also added ability to edit images after shoot by UCrop editor
Changed #
5.20.1 2021-03-29 #
AutoFormis renamed toUAutoForm
5.20.0 2021-03-25 #
- migrate build to webpack5
5.19.6 2021-03-15 #
- UTableEntity: click on column now show a sorting direction popup under cursor (not under toolbar sort button as before this changes); in this regime sorting direction popup is simplified (column name is removed, buttons aligneg verticaly)
5.19.5 2021-03-03 #
- client-side locales reformatted to use a json. Auth page now inject
/models/ub-pub/locale/lang-${conn.preferredLocale}.jsoninstead of js. - replaceShowList: pass
hideActionsproperty toUTableEntityinstead of buildscopedSlotswith emptydivfor it - UTableEntity
showSummaryaction changes:column.attribute.idused instead ofcolumn.attribute.code- this allows calc a summary for attributes with dots, likeitemID.price- allow specifying aggregation function for columns using
column.summaryAggregationOperatorproperty - one of'SUM'|'MIN'|'MAX'|'AVG'|null. By defaultSUMtype is specified for Number columns - exporting table to Excel takes into account summaryAggregationOperator for columns
- summary can be explicitly disabled by sets
column.summaryAggregationOperatorto null. Example:
<template>
<u-table-entity
entity-name="shop_OrderItem"
:columns="columns"
</template>
<script>
export default {
data () {
return {
columns: [
'ID',
{
id: 'price',
summaryAggregationOperator: 'MIN'
},
{
id: 'orderID.version',
summaryAggregationOperator: null
}
]
}
}
</script>
Removed #
5.20.1 2021-03-29 #
- usage of
@babel/plugin-proposal-object-rest-spreadis removed from production build. Constructions like
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }
is supported by all modern browsers.
Fixed #
5.20.1 2021-03-29 #
USelectEntity: In case value-attribute is specified for u-select-entity an attempt to edit selected entry: old behavior - causes an error because of invalid instanceID; new behavior - opens edit form correctly
5.20.0 2021-03-25 #
USelectEntity: In case value-attribute is specified for u-select-entity (e.g. :value-attribute="code") and the desired value is selected from dictionary then display attribute cannot be found and: old behavior - ID is shown; new behavior - value is shown corectly- use
SystemJS.import('@unitybase/pdf')instead ofSystem.import('@unitybase/pdf')to prevent webpack including a pdf package into adminui-vue bundle UFileWebcamButton: computed propertyisDisabledmust return value of typebooleanto prevent a console warnings in dev modelookups: the loading of lookups entries waits for another loading of entries for the same entity if it is not completed yet. This prevents parallelism bug, which happens when severalUTableEntitycontrols load lookups for the same entity and only the first one awaits thesubscribemethod and displays columns usinglookupscorrectly- added a cleanup of a dist folder before create a production build to remove unnecessary artifacts of previous build from resulting package
5.19.8 2021-03-23 #
- UNavbar: fix scrollIntoView in case several navbars are added by apps (as reported by protoka devs)
5.19.7 2021-03-16 #
- Fix
utils/Form/helpers.jsdate value comparison
5.19.6 2021-03-15 #
- use the same field list for
ubm_formandubm_enumin adminui-pub and adminui-vue UTableEntityshowSummary action now works for cached entities [LDOC-1168]. Fixed by adding a.misc({__mip_disablecache: true})to the summary repository (LocalDataStorage can't calculate SUM etc.)UTableEntity: for cached entities filter bystartWith/notStartWithnow case-insensitive (as for non cached one). Actual fix is in@unitybase/cs-shared.LocalDataStorage.
5.19.5 2021-03-03 #
UTableEntity- fix logic for alternate names forhide-actionsproperty forcopyandlink- replaceShowList: pass object properties to a column only if it is defined. Its prevent a bug when column
sortableandfiltersproperties is not defined in UTable UTableEntity: allow refreshing an edited row for tables what based on the UBQL with sub-queriesUSelectEntity: loading display value waits for another loading display value operation for the same control, if it not completed yet, this prevents parallelism bugs, which happens if value of the same control change several times fast enough- prevent exception in case client localisation of ub-pub model not found for user preferred language.
replaceShowList: fixed incorrect display of theUTableEntitycolumns header received from the cache- "@popperjs/core" version locked to "~2.8.6" - there is unexpected behavior in 2.9.0 (in dev mode)
- UFile: disable webcam capture button if control is disabled or webcam not available
@unitybase/adminui-pub #
Added #
5.19.5 2021-03-03 #
- Checking
uiSettings.adminUI.disableScannerconfig property inBasePanel. If it's set as true, then scan button would not show in form
Changed #
5.20.0 2021-03-25 #
- migrate build to webpack5
- loading of TinyMCE in production build implemented using webpack5 dynamic import feature
5.19.5 2021-03-03 #
- client-side locales reformatted to use a json
Fixed #
5.19.9 2021-03-17 #
UB.core.UBUtil.getNameMd5usesJSON.stringifyfor tail parameters before calculation of MD5 sum. This fix ExtJS grid configuration save/load in case columns config is an array of object
5.19.6 2021-03-15 #
- use the same field list for
ubm_formandubm_enumin adminui-pub and adminui-vue
@unitybase/blob-stores #
Added #
5.20.1 2021-03-29 #
-
new method
blobStores.internalWriteDocumentToResp- writes a BLOB content to the response without verifying an ALS (but RLS is verified) or return an error without modifying a response. Exposed asApp.blobStores.internalWriteDocumentToRespSECURITY - method can be used inside endpoint or rest entity method, which already checks the access rights to the document.
5.19.6 2021-03-23 #
- history rotation adds
entityandcreatedAtvalues intoub_blobHistory. This allows implement a BLOB FTS indexing using external tools (like ElasticSearch etc.)
5.19.5 2021-03-15 #
- SECURITY: for untity-entity based
getDocumentrequests check user have access to the record in both base entity and unity-entity (instead unity-entity only)
Fixed #
5.20.1 2021-03-29 #
App.blobStores.putContentdocumentation fixed - content can also be a THTTPRequest (since UB@5.9.3)
5.19.6 2021-03-23 #
- UB4 regression: if BLOB info stored in the DB not contains a
revision(UB < 5)getDocumentdon't try to get a revision from history and returns an actual content
5.19.5 2021-03-15 #
- SECURITY filesystem based blob stores checks file name is valid before storing content into the file system
@unitybase/cdn #
Changed #
5.20.0 2021-03-25 #
cdn_classifierentity uses theubm_queryas unity entity
5.19.6 2021-03-15 #
- CDN forms, reports and er-diagrams are converted to
ubrowformat
5.19.5 2021-03-03 #
- client side locales reformatted into JSON
Fixed #
5.19.5 2021-03-03 #
- copy classifier item on the form of classifier
@unitybase/codemirror-full #
Changed #
1.3.0 2021-03-25 #
- migrate build to webpack5
@unitybase/cs-shared #
Added #
5.5.19 2021-03-03 #
LocalDataStore.doFiltrationaccept a 3d optional argumentskipSubQueries. If explicitly set totrue, thensubqueryconditions are skipped (instead of throws)
Changed #
5.5.20 2021-03-15 #
LocalDataStorage- improve debugging experience by avoid using of anonymous functions and replacing_.forEach->for .. in
Fixed #
5.6.0 2021-03-25 #
- CustomRepository.fromUbql: prevents overriding of a default
methodin case Repository is created from JSON without method propertyUB.Repository({entity: 'my_entity', fieldList: ['a', 'b']}). A better fix for !1048
5.5.20 2021-03-15 #
LocalDataStorage: filter bystartWith/notStartWithnow case-insensitive (as in DB with _CI locales)
@unitybase/mailer #
Changed #
5.5.3 2021-03-15 #
ubm_desktop-scanerSettings-fmincreased the maximum value of page margins for the barcode configuration to 999 pixels instead of 100 pixels [CUBDF-823]
@unitybase/org #
Changed #
5.19.6 2021-03-15 #
- ORG forms, reports and er-diagrams are converted to
ubrowformat
5.19.5 2021-03-03 #
- client side locales reformatted into JSON
- server-side locales reformatted into JSON
@unitybase/pdf #
Changed #
5.1.0 2021-03-25 #
- migrate build to a webpack5
[@unitybase/systemjs-plugin-vue-ub]([object Object]) #
Changed #
1.4.0 2021-03-25 #
- migrate build to webpack5
@unitybase/ub-pub #
Added #
5.8.4 2021-03-15 #
@unitybase/cs-sharedformatByPatternmodule exposed as ub-pub formatter. So Dates and Numbers formatting can be done using:
// inside Vue instance
this.$UB.formatter.formatDate('2020-05-23', 'date', 'uk')
// in any module
const UB = require('@unitybase/ub-pub')
UB.formatter.formatNumber(1234.5, 'sum', 'en')
- new methods
EventEmitter.prototype.prependListenerandEventEmitter.prototype.prependOnceListener. Adds a listener function for the event namedeventNameto the beginning of the listeners array
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
5.8.3 2021-03-03 #
UB.xhr.defaultsproperty added - direct access to the default HTTP parameters forxhr. Can be used, for example, to change http request timeout globally:
const UB = require('@unitybase/ub-pub')
UB.xhr.defaults.timeout = 300000 // set all ajax requests timeout to 5 minutes
Changed #
5.9.0 2021-03-25 #
- migrate build to webpack5
5.8.3 2021-03-03 #
- client side locales reformatted into JSON
- BREAKING - for custom authentication pages what use ub-pub localization
lang-??.jsonmust be injected instead oflang-??.js
UB.get(`/models/ub-pub/locale/lang-${conn.preferredLocale}.json`).then(resp => {
UB.i18nExtend(resp.data)
}).catch(e => {console.error(e)})
Fixed #
5.8.4 2021-03-15 #
ClientRepositorybypassaddAttrsForCachedEntityfor repositories with__mip_disablecache: truein misc.
@unitybase/ub #
Added #
5.20.1 2021-03-29 #
- new method
App.blobStores.internalWriteDocumentToResp- writes a BLOB content to the response without verifying an ALS (but RLS is verified) or return an error without modifying a response. SECURITY - method can be used inside endpoint or rest entity method, which already checks the access rights to the document.
5.19.7 2021-03-23 #
- new ubConfig parameter
uiSettings.adminUI.forgotPasswordURL. If sets, then "Forgot password" link is displayed on the login form - added
THTTPRequest.json()method - read a UTF8 encoded HTTP request body as JSON Object. Can be used as faster alternative toJSON.parse(req.read('utf8')) - added
IncomingMessage.json()- a faster alternative toJSON.parse(resp.read())for http client requests ub_blobHistoryentity extended byentityandcreatedAtattributes
5.19.6 2021-03-17 #
-
App.launchEndpointemits 2 addition events:launchEndpoint:beforewith parameters: (req, resp, endpointName)launchEndpoint:afterwith parameters: (req, resp, endpointName, defaultPrevented) Can be used to do something on before/after any endpoint execution
-
App.removeUserSessions(userID)a method tologouta user completely
5.19.5 2021-03-15 #
-
UB.registerMixinModule(mixinName, mixinModule)- a way to add a pure JS mixin implementation. See detailed mixins tutorial for details -
Sesson.tenantIDproperty added - contains a number >0 for multitenancy app. 0 on case multitenancy not enabled -
implicitly disable multitenancy mixin for
ub_versionandub_miration -
fsStoragemixin: implements a CRUID operation for entity, whose data is stored in the file system. Used as data storage implementation forubm_form,ubs_reportsandubm_diagrams- see File system storage tutorial for details.BREAKING diagrams, reports and forms MUST be converted:
ubcli convertDefFiles -u root- *.ubrow and modified files added to git (
git add *.ubrow && git add *.def && git add *.template) - files, reported by convertDefFiles should be deleted from project (removal script is outputted to the stdout by
convertDefFiles)
-
critical section now available in http working threads:
const App = require('@unitybase/ub').App
// critical sectin must be registered once in the moment modules are evaluated
const MY_CS = App.registerCriticalSection('SHARED_FILE_ACCESS')
function concurrentFileAccess() {
// prevents mutual access to the same file from the different threads
App.enterCriticalSection(FSSTORAGE_CS)
try {
const data = fs.readfileSync('/tmp/concurrent.txt', 'utf8')
// do some operation what modify data
fs.writefileSync('/tmp/concurrent.txt', data)
} finally {
// important to leave critical section in finally block to prevent forever lock
App.leaveCriticalSection(FSSTORAGE_CS)
}
}
App.logEnter(enterText)/App.logLeave- allows increasing/decreasing logging recursion level (just like native methods do). EachlogEntercall MUST have pairedlogLeavecall, so better to use as such:
wrapEnterLeave: function (enterText, originalMethod) {
return function(ctx) {
App.logEnter(enterText)
try {
originalMethod(ctx)
} finally {
App.logLeave()
}
}
}
5.19.4 2021-03-03 #
- new ubConfig property
uiSettings.adminUI.disableScanner- disable a scanner related functionality iftrue. - new property
Session.pendingUserName- a username for authentication in pending state. Used for security audit to log a username in case session is not created yet
Changed #
5.19.6 2021-03-17 #
fsStoragemixin can use a simplified BLOB info (only origName is stored instead of JSON) formdbbased BLOB attributes
5.19.5 2021-03-15 #
- implicitlyAddedMixins logic is moved from native to @unitybase/ub model (into
_hookMetadataTransformation.jshook)
5.19.4 2021-03-03 #
allLocalesendpoint (client-side localization download) supports JSON files in/public/lang-??.json. Content of such files are wrapped intoUB.i18nExtend(....)before passing to client.
This allows using automation tools for preparing other language's localization.
-
server-side localization automatically loads a JSON files from models
serverLocalefolder. Naming convention is -*-??.jsonwhere ?? is a language code. Such convention allows creating of a model with serverLocale folder contains localization to the new language for all other models, for example model forzzlanguagezz-localewithserverLocale/cdn-zz.json,serverLocale/org-zz.jsonetc.It's recommended to split existed
serverLocale/*.jsinto several JSON and remove arequire('./serverLocale/*.js')form model initialization using instruction below (remove locales you do not need from touch, replacemodelNameby lowercased name of your model ):cd serverLocale touch modelName_sl-en.json modelName_sl-ru.json modelName_sl-uk.json modelName_sl-az.json modelName_sl-id.json modelName_sl-ka.json modelName_sl-tg.json modelName_sl-ky.json git add ./*.json // for each language move content of the js locale for individual language into modelName-??.json (without language identifier) // Use WebStorm 'Fix all JSON problems' action to add a double quoters in new lang files // remove require('./serverLocale/nameOfLocaleFile.js') from initModel.js git rm ./serverLocale/nameOfLocaleFile.js
Removed #
5.19.5 2021-03-15 #
UB.mixins.mStorageremoved (obsolete)
Fixed #
5.19.6 2021-03-17 #
- multitenancy: prevent recreation of default constraint for mi_tenantID on Postgres
@unitybase/uba #
Added #
5.19.6 2021-03-17 #
- SECURITY user will be logged out immediately if:
- roles or groups for user is changed
- certificate is removed or updated
- uba_user.disabled is sets to true
5.19.5 2021-03-15 #
- implicitly disable multitenancy mixin for
uba_role,uba_rlsanduba_els
5.19.4 2021-03-03 #
- advanced security check failures will be logged into uba_audit (throws
UB.ESecurityExceptioninstead ofError)
Changed #
5.19.5 2021-03-15 #
- UBA forms, reports and er-diagrams are converted to
ubrowformat
5.19.4 2021-03-03 #
- client side locales reformatted into JSON
Fixed #
5.19.5 2021-03-15 #
- display
actionTimeforuba_auditTrail(both grid and form) anduba_audit(grid only, form TBD) with seconds resolution
@unitybase/ubcli #
Added #
5.20.2 2021-03-30 #
ubcli migrate: new parameter-ddlfor model1,model2,...- allows to specify a model list DDL generator is limited for. For legacy apps Option value is passed as a--modelstoubcli generateDDL
5.19.6 2021-03-15 #
- added multitenancy support for
generateDDL - implemented generateDDL multitenancy support for Postgres
ubcli generateNginxCfgsupport multitenancy (by adding a *. forserver_namedirective)
Changed #
5.19.7 2021-03-17 #
ubcli convertDefFilesproduce simplified BLOB info (only origName is stored instead of JSON)
Fixed #
5.20.3 2021-03-30 #
ubcli migrate: fix for parameter-ddlfor
5.19.6 2021-03-15 #
ubcli generateNginxCfgconsider default forserverConfig.metrics.enabledis true, so correctly adds allow rules formetricsendpoint as configured inserverConfig.metrics.allowedFrom
@unitybase/ubm #
Added #
5.20.0 2021-03-25 #
ubm_sysdictionaryentity, navigation shortcut for the entity (the auto form is used). This entity is a copy of the oldubm_queryentity that contains information about system dictionaries.
5.19.5 2021-03-15 #
- implicitly disable multitenancy mixin for
ubm_desktop,ubm_enumandubm_navshortcut
Changed #
5.20.0 2021-03-25 #
- BREAKING
ubm_queryentity is used only as a unity entity for others now. Adding toubm_sysdictionarynow is equivalent to adding toubm_querytable. So if you add entries usingub-migratefor example, it should be tweaked as described below:
$context:
type: ubm_query
region:
name: {en: Regions, ru: Регионы, uk: Регіони}
...
to:
$context:
type: ubm_sysdictionary
region:
name: {en: Regions, ru: Регионы, uk: Регіони}
...
- UBM model now uses
ub-migratefor adding/updating enums, navigation items and roles - 'UBM_READ_USERS' & 'UBM_READ_EVERYONE' ELS rules removed in flavor of UBM_READ_USER added by ub-migrate
5.19.5 2021-03-15 #
- UBM forms, reports and er-diagrams are converted to
ubrowformat
5.19.4 2021-03-03 #
- client side locales reformatted into JSON
Removed #
5.19.4 2021-03-03 #
- i18n for FR related scanner (recognition) settings is remover (FR not used anymore)
Fixed #
5.19.7 2021-03-16 #
- Cleaned up
ubm_diagramandubm_formlocalization (ru, ka, tg) from non-existing attribute
5.19.5 2021-03-15 #
- scanner settings form -
Multiple pagecheckbox becomes disabled in caseJPEGformat is selected ubm_navhortcutform:- attributes tree is filled for both JSON and JS shortcut code type (
"entity": ".."andentityName: '...'). Before this fix only double quotes is recognized - form layout changed do be more compact (internally rewritten to u-grid + u-auto-field)
- attributes tree is filled for both JSON and JS shortcut code type (
@unitybase/ubs #
Added #
5.19.5 2021-03-15 #
ubcli convertDefFilesutility to convert a reports, forms and diagrams to new storage format (.ubrow)
Changed #
5.20.0 2021-03-25 #
- migrate build to webpack5
5.19.4 2021-03-03 #
- client side locales reformatted into JSON
Fixed #
5.19.7 2021-03-16 #
- Cleaned up
ubs_reportlocalization (ru, ka, tg) from non-existing attributemi_modifyDate
5.19.6 2021-03-15 #
- server-sire report rendering fixed (bug in ubs@5.19.5)
@unitybase/udisk #
Changed #
5.19.4 2021-03-03 #
- client side locales reformatted into JSON
- server-side locales reformatted into JSON
@unitybase/xlsx #
Changed #
5.20.0 2021-03-25 #
- migrate build to webpack5
