Added
1.4.1 2019-03-30
Vuex now imported inside @unitybase/adminui-vue. In other models:
- for dev mode can be required directly
Vuex = require('vuex')
- in case model is boundled by webpack
Vuex should be in externals section of webpack config
externals: {
lodash: '_',
'@unitybase/ub-pub': 'UB',
'@unitybase/adminui-pub': '$App',
'vuex': {
commonjs: 'vuex',
commonjs2: 'vuex',
amd: 'vuex',
root: 'Vuex'
}
}
- new
mountHelpers module - to be used inside form's mount function:
const AdminUiVue = require('@unitybase/adminui-vue')
module.exports.mount = function (params) {
if (AdminUiVue.mountHelpers.activateIfMounted(params)) return
let mountParams = {
FormComponent: TstDictionaryFt,
showFormParams: params
}
AdminUiVue.mountHelpers.mount(mountParams)
}
- added
UForm component. Wrap for UFormRow which can set label width for child UFormRows
- added
modalWidth option to mount formParams
1.4.0 2019-03-21
throttle-debounce micro package added. Exported by adminui-vue as throttleDebounce
- added
UFormRow component. When you need to add label in right side of form item
- added
UErrorWrap component. Wrap any element and show error from prop under element
1.3.3 2019-03-10
- UInputNumber component - editor for Numeric field (Int, BinInt, Currency, Float, ID); HOC over ElInputNumber
- Vue.prototype.$dialog, $dialogYesNo, #dialogInfo, $dialogError
- controls for Vue based navbar component:
- UNavbarNotificationButton -
ubm_messages notifications
- UNavbarSearchButton - Full Text Search (+ shortcut
Ctrl + F)
- UNavbarUserButton - actions for logged in user
- "Magic links" (see adminui-vue/utils/magicLinks.js for details)
<a href="#" data-cmd-type="showForm" data-entity="ubm_navshortcut" data-instance-id=332352169869385>
Edit existed shortcut with specified ID
</a>
1.3.2 2019-03-05
- new Vue base
sidebar component (left menu). Enabling by setting
UB.connection.appConfig.uiSettings.adminUI.customSidebar to true in app config
$notify method to Vue.prototype
- buttons
show error on full screen and show info for developer added to Error notification popup
Changed
1.4.1 2019-03-30
portal:navbar:appendSlot now append child to navbar
portal:navbar:defineSlot define slot with new child (renamed appendSlot -> defineSlot)
portal:sidebar:appendSlot now append child to sidebar
portal:sidebar:defineSlot define slot with new child (renamed appendSlot -> defineSlot)
- BREAKING renamed:
- UbSelectEntity -> USelectEntity
- UbSelectEnum -> USelectEnum
- UbSelectMany -> UbSelectMany
- UbUploadDocument -> UUploadDocument
- set correct zIndex when open UB dialogs from magicLinks
1.4.0 2019-03-21
- UbContext -> UContextMenu
- UbCodeMirror -> UCodeMirror
- UbInput -> UInput
- All Vue components now will be initialized in
packages/adminui-vue/ub-components.js
1.3.3 2019-03-10
- UbEntityEdit
value property renamed to instance
- UbInput now use HOC pattern over ElInput
- ToolbarComponent property
value renamed to instanceId. To be used as <u-form-toolbar :instance-id="formData.ID"...>
- prevent override Vue.prototype.$notify introduced by El, instead inject UDialog as
$dialog
- Vue forms will use
Alt+R for "Remove" instead of Alt+Del because DEl and Backspace because
on Mac keyboards the key normally identified as "backspace" on PC keyboards is called "delete"
- popover button animation removed for vue select (in remote mode)
1.3.2 2019-03-05
vue forms definition extension changed from js to vue. Existed vue forms should be renamed manually
git mv my_entity-fm.js my_entity-fm.vue
- due to modifications in vue runtime parser all imports of
vue files must be done as
const cmpName = require('cmpName.vue').default
- renamed CSS variables according twitter-bootstrap
1.3.1 2019-03-03
- update vue@2.6.7 -> 2.6.8
- set fixed version of element-ui@2.5.4 because of theme bug in 2.6.x
1.3.0 2019-03-01
- BREAKING dialogs functions now return native Promise - without a legacy
.done method.
All occurrence of .done should be replaced to .then()[.catch()]
- webpack4 is used for compile production mode
- updated vue@2.6.6 -> vue@2.6.7
- upgraded vue-loader@14.2.4 -> vue-loader@15.6.4
Fixed
1.4.1 2019-03-30
- fixed
ubs_message_edit form layout on small screens
- added
storeInstanceModule. Vuex store which track all form changes
- added
storeValidationPlugin. Vuex store plugin which validate instance module changes
UFormRow now can be used without UForm wrapper
- fixed autofocus to accept button in
UDialog
1.3.3 2019-03-10
- Vue control UbSelectEntity now use ElSelect
remote-method for fetching data
- behavior of UbSelectEntity changed to be as close to desktop select as possible
- links for set focus on attribute with invalid value and for execution of command
now work in production mode (inline JS is removed in flavor of magic link)
1.3.2 2019-03-05
- ub-auth page will handle pressing of Enter key in UB authorization scheme user name field
- UbSelectEntity vue component:
- added shortcuts for popup actions
- "blink" area around popup actions button is removed
- UBToolbarComponent.vue - "Save" and "Save and close" color changed to btn-primary (green)
1.3.1 2019-03-03
- move
normalize.css to dependencies from devDependencies to allow use a -dev mode
even if modules are installed with NODE_ENV=production
dialogInfo return false in case user close dialog without pressing "ok" button (regression)
1.3.0 2019-03-01
- relogon form should not close on Esc
Added
5.8.4 2019-03-22
isModal parameter for vue forms
5.8.3 2019-03-10
- new alias
instanceId for $App.showForm command can be used instead of instanceID.
Useful inside data attributes (see "magic links" in adminui-vue)
5.8.2 2019-03-04
- Font color selection button added to
UB.ux.form.HtmlEditor
- Preview in PDF button now enabled in
UB.ux.form.HtmlEditor (package @unitybase/pdf should be in package.json for this feature)
5.8.0 2019-03-01
element-ui library registered is SystemJS.map (used in DEV mode of adminui-vue)
Changed
5.8.4 2019-03-22
- upgrade mustache 2.3.0 -> 3.0.1
5.8.3 2019-03-10
- i18 key
oshibkaVvoda renamed to fieldValidationError and moved to up-pub
- changed 'notValidForColumns' message template for all locales
5.8.2 2019-03-04
- tabId parameter of
$App.doCommand should be of type string.
Explicit typecast of tabId to string added to prevent "unclosable" tab error
- BREAKING
vue forms definition extension changed from js to vue. Existed vue forms should be renamed manually
git mv my_entity-fm.js my_entity-fm.vue
5.8.1 2019-03-02
- remove preset-es215-without-strict from webpack config - webpack4 do all well w/o this preset
5.8.0 2019-03-01
- BREAKING
window.JSZip is removed
- UBTheme.css removed (deprecated)
- css for Right-To-Left locales are removed (nobody uses it)
- packages updated
bluebird 3.4.6 -> 3.5.3, codemirror 5.20.2 -> 5.44.0, es6-promise 4.1.1 -> 4.2.6
- webpack@4 is used for production build
- all production css are optimized using -O2 optimization level
- CodeMirror & mxGraph now not included in boundle and loaded on demand from their own packages
- removed most of IE11- hacks from Ext-all (-4Kb)
Ext.data.proxy.Rest, Ext.data.reader.Xml, Ext.data.writer.Xml, and Ext.data.XmlStore are removed
- support for IE < 11 is removed from Ext.Array
Fixed
5.8.4 2019-03-22
- removed stacked width in customSidebar option
5.8.3 2019-03-10
$App.doCommand instantiate form with type module by calling mount function (as for vue form)
Added
5.1.12 2019-03-11
- protection against Clickjacking/sniffing/XSS attack is added for main HTML page.
In case custom login page is used it's strongly recommended to use nginx config
generated by
npx ubcli generateNginxCfg command
Changed
5.1.13 2019-03-22
- upgrade mustache 2.3.0 -> 3.0.1
Fixed
5.1.5 2019-03-06
- @unitybase/base.options will accept
--help for show help (also -help and -? is supported)
- better formatting for
ubcli command --help
Fixed
5.0.39 2019-03-19
- on
nix replace possible Windows separator inside blob store info relPath
during calculation of Permanent File Name
Changed
5.1.5 2019-03-11
- File cnd_person.meta.ka fixed
Added
5.0.19 2019-03-11
CustomRepository.clone() method
let repo1 = UB.Repository('uba_user').attrs('ID', 'code').where('ID', '>', 15, 'byID')
let repo2 = repo1.clone()
repo1.orderBy('code')
repo1.selectAsObject() // return ordered users with ID > 15
repo2.attrs('name').where('ID', '>', 100, 'byID')
repo2.selectAsObject() // return unordered users with their names and ID > 100
5.0.18 2019-03-04
- new method asPlainJSON() for UBEntity & UBEntityAttribute - return a
JSON representation WITHOUT properties which have default values.
Very close to data stored in meta file
- helper
Repository.attrsIf()let isPessimisticLock = !!UB.connection.domain.get('uba_user').attributes.mi_modifyDate
// with whereIf
let repo = UB.Repository('uba_user').attrs('ID').attrsIf(isPessimisticLock, 'mi_modifyDate')
//without whereIf
let repo = UB.Repository('uba_user').attrs('ID')
if (isPessimisticLock) repo = repo.attrs('mi_modifyDate')
- helper
Repository.whereIf()let filterString = 'foundAllLikeThis' // or may be empty string
// with whereIf
let repo = UB.Repository('my_entity').attrs('ID')
.whereIf(filterString, 'myAttr', 'like', filterString)
//without whereIf
let repo = UB.Repository('my_entity').attrs('ID')
if (filterString) repo = repo.where('myAttr', 'like', filterString)
- helper
Repository.miscIf()
Changed
5.0.19 2019-03-11
CustomRepository.misc will remove option in case it value is falseinstead of setting it tofalse`
This reduce resulting UBQL size
CustomRepository.orderBy(attrd, direction) accept null as direction.
In this case ordering by attr will be removed
let repo = UB.Repository('my_entity').attrs('ID').orderBy('code')
let orderedData = await repo.selectAsObject() // ordered. await is for client-side only
repo.orderBy('code', null) // remove order by code
let unorderedData = await repo.selectAsObject() // NOT ordered
5.0.18 2019-03-04
- remove obsolete UBEntity & UBEntityAttribute
asJSON method
Fixed
5.0.19 2019-03-11
- addingCondition now checked in
CustomRepository.miscIf
Changed
5.0.18 2019-03-01
- use webpack4 for production build
[@unitybase/systemjs-plugin-vue-ub]([object Object])
Added
1.3.0 2019-03-06
- ES6
export default support for Vue SFC - parser will replace it to module.exports.default = in dev mode
- vue component definition is exported as
default so should be imported as
const MyComponent = require('./MyComponent.vue').default. BOUNDLED_BY_WEBPACK hack should be removed
Changed
1.3.1 2019-03-10
- code simplified - all unsupported and unused features are removed from code
- vue compiler padding changed from
line to space
1.2.5 2019-03-01
- use webpack4 for production build
Added
5.2.33 2019-03-10
- optional parameter fieldAliases for
ClientRepository.selectById method
Changed
5.2.33 2019-03-10
- separate stack trace in developer error reporter onto lines for better readability
Added
5.1.20 2019-03-24
uba_auditTrail.request_id attribute - a unique request identifier.
Can be used eg for revert all changes made by a single ubql call. Require ub sevrer@5.7.18.
Added
5.3.11 2019-03-11
npx ubcli generateNginxCfg will add a Clickjacking/sniffing/XSS protections for /app internal URL.
This protect both login page (custom and build-in) form such kinds of attacks.
- new option
-t or tests for npx ubcli autotest allows to specify a comma separated tests files to execute
Fixed
5.3.11 2019-03-11
npx ubcli meta-tr command now work correctly. Meta content encoding before using JSON.parse() was fixed
Changed
5.1.10 2019-03-06
- BREAKING
vue forms definition extension changed from js to vue. Existed vue forms should be renamed manually
git mv my_entity-fm.js my_entity-fm.vue
Fixed
5.1.11 2019-03-11
- insertion of form with type
module do not throw error
Changed
5.0.45 2019-03-01
- use webpack4 for production build