j-Configuration
- supports dark mode
Configuration:
dateformat {String}a default date format (default:DEF.dateformat)
Declaration
Allowed properties:
type {String}supports:stringnumberdatebooleandropdowncoloriconmultilineselectable
text {String}a text/titlename {String}a name of property in the modelalign {Number}align for inputs (0left (default),1center,2right)icon {String}optional, Total JS or font-awesome icon identifiersummary {String}optional, a summarizationnote {String}optional, a noterequired {Boolean}optional, is the property required?disable {String}optional, declaration of arrow function in the formvalue.interval === 100visible {String}optional, declaration of arrow function in the formvalue.interval === 100button {String}optional, creates a small buttonclick {String}optional, a link to the method (depends on thebutton)maxlength {Number}optional, supports onlystringtypemin {Number}optional, supports onlynumbertypemax {Number}optional, supports onlynumbertypeincrement {Number}optional, an increment count - supports onlynumbertype (default:1)multiple {Boolean}optional, works withselectabletype (a value will be array)monospace {Boolean}optional, works withstringandnumbertypesbold {Boolean}optional, works withstringandnumbertypesplaceholder {String}optionalitems {String/Object Array}optional fordropdownandselectablein the form[{ id: 'VALUE', name: 'TEXT' }]- type
stringa path to theObject Array(works with scopes) - type
Object Arrayfixed defined array
- type
dirplaceholder {String} optional, placeholder for j-Directorydirsearch {Boolean} optional, enables/disables search field in j-Directory (default: true)datasource {String} optional, a path to the data-source for config itemsDeclaration must be defined in the component's element body wrapped in the <script type="text/plain"> element. Example:
[
{
name: 'My group label',
type: 'group',
// summary: 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Numquam, nostrum.',
// icon: 'ti ti-home'
},
{
id: 'name',
name: 'Application name',
type: 'string',
icon: 'ti ti-home',
disable: 'model => model.interval < 100',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.',
required: true
},
... other items
]Use it with <ui-component name="configuration">. When the component is not loaded yet, jComponent downloads it on first use from the address in DEF.fallback (the Componentator CDN by default). Author: Peter Širka. Source: the Componentator components repository, MIT license.
<ui-component name="LAZY colorpicker"></ui-component>
<ui-component name="LAZY datepicker"></ui-component>
<ui-component name="LAZY directory"></ui-component>
<ui-component name="LAZY icons"></ui-component>
<ui-component name="configuration" path="config" class="invisible">
<script type="name/plain">
[
{
name: 'My group',
type: 'group',
summary: 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Numquam, nostrum.',
icon: 'ti ti-home'
},
{
id: 'name',
name: 'Application name',
type: 'string',
icon: 'ti ti-home',
disable: 'model => model.interval < 100',
button: 'Verify',
note: 'ajldksasdljsalj',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.',
required: true
},
{
id: 'name',
name: 'Application name',
type: 'string',
icon: 'ti ti-home',
note: 'ajldksasdljsalj',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.',
camouflage: true,
required: true
},
{
id: 'date',
name: 'Date',
type: 'date',
disable: 'model => model.interval < 100',
placeholder: 'Test',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.'
},
{
id: 'interval',
name: 'Backup interval',
type: 'number',
min: 1,
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.'
},
{
id: 'color',
name: 'Color',
type: 'color',
disable: 'model => model.interval < 100',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.'
},
{
id: 'icon',
name: 'Icon',
type: 'icon',
disable: 'model => model.interval < 100',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.'
},
{
id: 'interval',
name: 'Backup interval',
type: 'number'
},
{
id: 'interval',
disable: 'model => model.interval < 100',
name: 'Backup interval',
type: 'number'
},
{
id: 'city2',
items: [{ id: 'bb', name: 'BB', icon: 'ti ti-map-pin' }, { id: 'ba', name: 'BA', icon: 'ti ti-map-pin' }, { id: 'zv', name: 'ZV', icon: 'ti ti-map-pin' }, { id: 'se', name: 'SE', icon: 'ti ti-map-pin' }],
name: 'City',
multiple: true,
dirempty: 'Empty',
type: 'selectable'
},
{
id: 'city',
items: [{ id: 'bb', name: 'Banská Bystrica' }, { id: 'ba', name: 'Bratislava' }, { id: 'zv', name: 'Zvolen' }],
name: 'City',
noborder: 1,
dirempty: 'Empty',
placeholder: 'Choose city',
disable: 'model => model.interval < 100',
type: 'dropdown'
},
{
name: 'System',
type: 'group',
summary: 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Numquam, nostrum.',
icon: 'ti ti-home'
},
{
id: 'notes',
name: 'Multiline',
type: 'multiline',
placeholder: 'Test placeholder',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.'
},
{
id: 'newsletter',
name: 'Allow newsletter',
type: 'boolean',
disable: 'model => model.interval < 100',
summary: 'Lorem, ipsum dolor sit amet consectetur, adipisicing elit. Iste eos, illum voluptas assumenda sunt possimus necessitatibus nobis provident dicta deserunt.'
}
]
</script>
</ui-component>
<script>
var config = { interval: 100, icon: 'ti ti-home', color: '#A0A0A0', newsletter: false, name: 'Peter Širka', city: '' };
</script>