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 UFormRow
s
- 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 to
false`
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