http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/thread.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/thread.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/thread.pug
index 2c32383..76633f3 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/thread.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/thread.pug
@@ -26,8 +26,14 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
     panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
         .pca-form-column-6.pc-form-grid-row
             .pc-form-grid-col-30
-                +number('Public:', model + '.publicThreadPoolSize', 
'"publicThreadPoolSize"', 'true', 'max(8, availableProcessors) * 2', '1',
-                    'Thread pool that is in charge of processing ComputeJob, 
GridJobs and user messages sent to node')
+                +form-field__number({
+                    label: 'Public:',
+                    model: model + '.publicThreadPoolSize',
+                    name: '"publicThreadPoolSize"',
+                    placeholder: 'max(8, availableProcessors) * 2',
+                    min: '1',
+                    tip: 'Thread pool that is in charge of processing 
ComputeJob, GridJobs and user messages sent to node'
+                })
             .pc-form-grid-col-30
                 +form-field__number({
                     label: 'System:',
@@ -38,14 +44,32 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
                     tip: 'Thread pool that is in charge of processing internal 
system messages'
                 })
             .pc-form-grid-col-30
-                +number('Service:', model + '.serviceThreadPoolSize', 
'"serviceThreadPoolSize"', 'true', 'max(8, availableProcessors) * 2', '1',
-                    'Thread pool that is in charge of processing proxy 
invocation')
+                +form-field__number({
+                    label: 'Service:',
+                    model: model + '.serviceThreadPoolSize',
+                    name: '"serviceThreadPoolSize"',
+                    placeholder: 'max(8, availableProcessors) * 2',
+                    min: '1',
+                    tip: 'Thread pool that is in charge of processing proxy 
invocation'
+                })
             .pc-form-grid-col-30
-                +number('Management:', model + '.managementThreadPoolSize', 
'"managementThreadPoolSize"', 'true', '4', '1',
-                    'Thread pool that is in charge of processing internal and 
Visor ComputeJob, GridJobs')
+                +form-field__number({
+                    label: 'Management:',
+                    model: model + '.managementThreadPoolSize',
+                    name: '"managementThreadPoolSize"',
+                    placeholder: '4',
+                    min: '1',
+                    tip: 'Thread pool that is in charge of processing internal 
and Visor ComputeJob, GridJobs'
+                })
             .pc-form-grid-col-30
-                +number('IGFS:', model + '.igfsThreadPoolSize', 
'"igfsThreadPoolSize"', 'true', 'availableProcessors', '1',
-                    'Thread pool that is in charge of processing outgoing IGFS 
messages')
+                +form-field__number({
+                    label: 'IGFS:',
+                    model: model + '.igfsThreadPoolSize',
+                    name: '"igfsThreadPoolSize"',
+                    placeholder: 'availableProcessors',
+                    min: '1',
+                    tip: 'Thread pool that is in charge of processing outgoing 
IGFS messages'
+                })
             .pc-form-grid-col-30
                 +form-field__number({
                     label: 'Rebalance:',
@@ -58,8 +82,14 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
                 })
                     +form-field__error({ error: 'max', message: 'Rebalance 
thread pool size should not exceed or be equal to System thread pool size' })
             .pc-form-grid-col-30
-                +number('Utility cache:', model + 
'.utilityCacheThreadPoolSize', '"utilityCacheThreadPoolSize"', 'true', 'max(8, 
availableProcessors)', '1',
-                    'Default thread pool size that will be used to process 
utility cache messages')
+                +form-field__number({
+                    label: 'Utility cache:',
+                    model: model + '.utilityCacheThreadPoolSize',
+                    name: '"utilityCacheThreadPoolSize"',
+                    placeholder: 'max(8, availableProcessors)',
+                    min: '1',
+                    tip: 'Default thread pool size that will be used to 
process utility cache messages'
+                })
             .pc-form-grid-col-30
                 form-field-size(
                     label='Utility cache keep alive time:'
@@ -73,19 +103,43 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
                     on-scale-change='_s1 = $event'
                 )
             .pc-form-grid-col-30
-                +number('Async callback:', model + '.asyncCallbackPoolSize', 
'"asyncCallbackPoolSize"', 'true', 'max(8, availableProcessors)', '1',
-                    'Size of thread pool that is in charge of processing 
asynchronous callbacks')
+                +form-field__number({
+                    label:'Async callback:',
+                    model: model + '.asyncCallbackPoolSize',
+                    name: '"asyncCallbackPoolSize"',
+                    placeholder: 'max(8, availableProcessors)',
+                    min: '1',
+                    tip: 'Size of thread pool that is in charge of processing 
asynchronous callbacks'
+                })
             .pc-form-grid-col-30
-                +number('Striped:', model + '.stripedPoolSize', 
'"stripedPoolSize"', 'true', 'max(8, availableProcessors)', '1',
-                    'Striped pool size that should be used for cache requests 
processing')
+                +form-field__number({
+                    label: 'Striped:',
+                    model: model + '.stripedPoolSize',
+                    name: '"stripedPoolSize"',
+                    placeholder: 'max(8, availableProcessors)',
+                    min: '1',
+                    tip: 'Striped pool size that should be used for cache 
requests processing'
+                })
 
             //- Since ignite 2.0
             .pc-form-grid-col-30(ng-if-start='$ctrl.available("2.0.0")')
-                +number('Data streamer:', model + 
'.dataStreamerThreadPoolSize', '"dataStreamerThreadPoolSize"', 'true', 'max(8, 
availableProcessors)', '1',
-                    'Size of thread pool that is in charge of processing data 
stream messages')
+                +form-field__number({
+                    label: 'Data streamer:',
+                    model: model + '.dataStreamerThreadPoolSize',
+                    name: '"dataStreamerThreadPoolSize"',
+                    placeholder: 'max(8, availableProcessors)',
+                    min: '1',
+                    tip: 'Size of thread pool that is in charge of processing 
data stream messages'
+                })
             .pc-form-grid-col-30
-                +number('Query:', model + '.queryThreadPoolSize', 
'"queryThreadPoolSize"', 'true', 'max(8, availableProcessors)', '1',
-                    'Size of thread pool that is in charge of processing query 
messages')
+                +form-field__number({
+                    label: 'Query:',
+                    model: model + '.queryThreadPoolSize',
+                    name: '"queryThreadPoolSize"',
+                    placeholder: 'max(8, availableProcessors)',
+                    min: '1',
+                    tip: 'Size of thread pool that is in charge of processing 
query messages'
+                })
             .pc-form-grid-col-60(ng-if-end)
                 .ignite-form-field
                     +form-field__label({ label: 'Executor configurations:', 
name: '"executorConfigurations"' })
@@ -101,7 +155,7 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
                         }`
                     )
                         list-editable-item-view
-                            | {{ $item.name }} / 
+                            | {{ $item.name }} /
                             | {{ $item.size || 'max(8, availableProcessors)'}}
 
                         list-editable-item-edit
@@ -121,11 +175,18 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
                                         ui-validate-watch=`"${executors}"`
                                         
ui-validate-watch-object-equality='true'
                                         ng-model-options='{allowInvalid: true}'
-                                        
data-ignite-form-field-input-autofocus='true'
+                                        
ignite-form-field-input-autofocus='true'
                                     )
                                         +form-field__error({ error: 
'uniqueName', message: 'Service with that name is already configured' })
                                 .pc-form-grid-col-30
-                                    +number('Pool size:', '$item.size', 
'"ExecutorPoolSize"', 'true', 'max(8, availableProcessors)', '1', 'Thread pool 
size')
+                                    +form-field__number({
+                                        label: 'Pool size:',
+                                        model: '$item.size',
+                                        name: '"ExecutorPoolSize"',
+                                        placeholder: 'max(8, 
availableProcessors)',
+                                        min: '1',
+                                        tip: 'Thread pool size'
+                                    })
 
                         list-editable-no-items
                             list-editable-add-item-button(

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/time.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/time.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/time.pug
index fa85a5d..7cfff3c 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/time.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/time.pug
@@ -26,19 +26,46 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
         .pca-form-column-6.pc-form-grid-row
             //- Removed in ignite 2.0
             .pc-form-grid-col-30(ng-if-start='$ctrl.available(["1.0.0", 
"2.0.0"])')
-                +number('Samples size:', `${model}.clockSyncSamples`, 
'"clockSyncSamples"', 'true', '8', '0',
-                    'Number of samples used to synchronize clocks between 
different nodes<br/>\
-                    Clock synchronization is used for cache version assignment 
in CLOCK order mode')
+                +form-field__number({
+                    label: 'Samples size:',
+                    model: `${model}.clockSyncSamples`,
+                    name: '"clockSyncSamples"',
+                    placeholder: '8',
+                    min: '0',
+                    tip: 'Number of samples used to synchronize clocks between 
different nodes<br/>\
+                          Clock synchronization is used for cache version 
assignment in CLOCK order mode'
+                })
             .pc-form-grid-col-30(ng-if-end)
-                +number('Frequency:', `${model}.clockSyncFrequency`, 
'"clockSyncFrequency"', 'true', '120000', '0',
-                    'Frequency at which clock is synchronized between nodes, 
in milliseconds<br/>\
-                    Clock synchronization is used for cache version assignment 
in CLOCK order mode')
+                +form-field__number({
+                    label: 'Frequency:',
+                    model: `${model}.clockSyncFrequency`,
+                    name: '"clockSyncFrequency"',
+                    placeholder: '120000',
+                    min: '0',
+                    tip: 'Frequency at which clock is synchronized between 
nodes, in milliseconds<br/>\
+                          Clock synchronization is used for cache version 
assignment in CLOCK order mode'
+                })
 
             .pc-form-grid-col-30
-                +number-min-max('Port base:', `${model}.timeServerPortBase`, 
'"timeServerPortBase"', 'true', '31100', '0', '65535',
-                    'Time server provides clock synchronization between 
nodes<br/>\
-                    Base UPD port number for grid time server. Time server 
will be started on one of free ports in range')
+                +form-field__number({
+                    label: 'Port base:',
+                    model: `${model}.timeServerPortBase`,
+                    name: '"timeServerPortBase"',
+                    placeholder: '31100',
+                    min: '0',
+                    max: '65535',
+                    tip: 'Time server provides clock synchronization between 
nodes<br/>\
+                         Base UPD port number for grid time server. Time 
server will be started on one of free ports in range'
+                })
+
             .pc-form-grid-col-30
-                +number('Port range:', `${model}.timeServerPortRange`, 
'"timeServerPortRange"', 'true', '100', '1', 'Time server port range')
+                +form-field__number({
+                    label: 'Port range:',
+                    model: `${model}.timeServerPortRange`,
+                    name: '"timeServerPortRange"',
+                    placeholder: '100',
+                    min: '1',
+                    tip: 'Time server port range'
+                })
         .pca-form-column-6
             +preview-xml-java(model, 'clusterTime')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/transactions.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/transactions.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/transactions.pug
index b5f80df..48c8391 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/transactions.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/cluster-edit-form/templates/transactions.pug
@@ -21,45 +21,78 @@ include /app/helpers/jade/mixins
 
 panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
     panel-title Transactions
-    panel-description 
-        | Settings for transactions. 
+    panel-description
+        | Settings for transactions.
         | 
#[a.link-success(href="https://apacheignite.readme.io/docs/transactions"; 
target="_blank") More info]
     panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
         .pca-form-column-6.pc-form-grid-row
             .pc-form-grid-col-30
-                +dropdown('Concurrency:', `${model}.defaultTxConcurrency`, 
'"defaultTxConcurrency"', 'true', 'PESSIMISTIC',
-                    '[\
+                +form-field__dropdown({
+                    label: 'Concurrency:',
+                    model: `${model}.defaultTxConcurrency`,
+                    name: '"defaultTxConcurrency"',
+                    placeholder: 'PESSIMISTIC',
+                    options: '[\
                         {value: "OPTIMISTIC", label: "OPTIMISTIC"},\
                         {value: "PESSIMISTIC", label: "PESSIMISTIC"}\
                     ]',
-                    'Cache transaction concurrency to use when one is not 
explicitly specified\
-                    <ul>\
-                        <li>OPTIMISTIC - All cache operations are not 
distributed to other nodes until commit is called</li>\
-                        <li>PESSIMISTIC - A lock is acquired on all cache 
operations with exception of read operations in READ_COMMITTED mode</li>\
-                    </ul>')
+                    tip: 'Cache transaction concurrency to use when one is not 
explicitly specified\
+                        <ul>\
+                            <li>OPTIMISTIC - All cache operations are not 
distributed to other nodes until commit is called</li>\
+                            <li>PESSIMISTIC - A lock is acquired on all cache 
operations with exception of read operations in READ_COMMITTED mode</li>\
+                        </ul>'
+                })
             .pc-form-grid-col-30
-                +dropdown('Isolation:', `${model}.defaultTxIsolation`, 
'"defaultTxIsolation"', 'true', 'REPEATABLE_READ',
-                    '[\
+                +form-field__dropdown({
+                    label: 'Isolation:',
+                    model: `${model}.defaultTxIsolation`,
+                    name: '"defaultTxIsolation"',
+                    placeholder: 'REPEATABLE_READ',
+                    options: '[\
                         {value: "READ_COMMITTED", label: "READ_COMMITTED"},\
                         {value: "REPEATABLE_READ", label: "REPEATABLE_READ"},\
                         {value: "SERIALIZABLE", label: "SERIALIZABLE"}\
                     ]',
-                    'Default transaction isolation\
-                    <ul>\
-                        <li>READ_COMMITTED - Always a committed value will be 
provided for read operations</li>\
-                        <li>REPEATABLE_READ - If a value was read once within 
transaction, then all consecutive reads will provide the same in-transaction 
value</li>\
-                        <li>SERIALIZABLE - All transactions occur in a 
completely isolated fashion, as if all transactions in the system had executed 
serially, one after the other.</li>\
-                    </ul>')
+                    tip: 'Default transaction isolation\
+                        <ul>\
+                            <li>READ_COMMITTED - Always a committed value will 
be provided for read operations</li>\
+                            <li>REPEATABLE_READ - If a value was read once 
within transaction, then all consecutive reads will provide the same 
in-transaction value</li>\
+                            <li>SERIALIZABLE - All transactions occur in a 
completely isolated fashion, as if all transactions in the system had executed 
serially, one after the other.</li>\
+                        </ul>'
+                })
             .pc-form-grid-col-60
-                +number('Default timeout:', `${model}.defaultTxTimeout`, 
'"defaultTxTimeout"', 'true', '0', '0', 'Default transaction timeout')
+                +form-field__number({
+                    label: 'Default timeout:',
+                    model: `${model}.defaultTxTimeout`,
+                    name: '"defaultTxTimeout"',
+                    placeholder: '0',
+                    min: '0',
+                    tip: 'Default transaction timeout'
+                })
             .pc-form-grid-col-30
-                +number('Pessimistic log cleanup delay:', 
`${model}.pessimisticTxLogLinger`, '"pessimisticTxLogLinger"', 'true', '10000', 
'0',
-                    'Delay, in milliseconds, after which pessimistic recovery 
entries will be cleaned up for failed node')
+                +form-field__number({
+                    label: 'Pessimistic log cleanup delay:',
+                    model: `${model}.pessimisticTxLogLinger`,
+                    name: '"pessimisticTxLogLinger"',
+                    placeholder: '10000',
+                    min: '0',
+                    tip: 'Delay, in milliseconds, after which pessimistic 
recovery entries will be cleaned up for failed node'
+                })
             .pc-form-grid-col-30
-                +number('Pessimistic log size:', 
`${model}.pessimisticTxLogSize`, '"pessimisticTxLogSize"', 'true', '0', '0',
-                    'Size of pessimistic transactions log stored on node in 
order to recover transaction commit if originating node has left grid before it 
has sent all messages to transaction nodes')
+                +form-field__number({
+                    label: 'Pessimistic log size:',
+                    model: `${model}.pessimisticTxLogSize`,
+                    name: '"pessimisticTxLogSize"',
+                    placeholder: '0',
+                    min: '0',
+                    tip: 'Size of pessimistic transactions log stored on node 
in order to recover transaction commit if originating node has left grid before 
it has sent all messages to transaction nodes'
+                })
             .pc-form-grid-col-60
-                +java-class('Manager factory:', `${model}.txManagerFactory`, 
'"txManagerFactory"', 'true', 'false',
-                    'Class name of transaction manager factory for integration 
with JEE app servers')
+                +form-field__java-class({
+                    label: 'Manager factory:',
+                    model: `${model}.txManagerFactory`,
+                    name: '"txManagerFactory"',
+                    tip: 'Class name of transaction manager factory for 
integration with JEE app servers'
+                })
         .pca-form-column-6
             +preview-xml-java(model, 'clusterTransactions')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/dual.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/dual.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/dual.pug
index 67a37ad..67839e8 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/dual.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/dual.pug
@@ -31,12 +31,28 @@ panel-collapsible(
     panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
         .pca-form-column-6
             .settings-row
-                +number('Maximum pending puts size:', 
`${model}.dualModeMaxPendingPutsSize`, '"dualModeMaxPendingPutsSize"', 'true', 
'0', 'Number.MIN_SAFE_INTEGER',
-                    'Maximum amount of pending data read from the secondary 
file system and waiting to be written to data cache<br/>\
-                    Zero or negative value stands for unlimited size')
+                +form-field__number({
+                    label: 'Maximum pending puts size:',
+                    model: `${model}.dualModeMaxPendingPutsSize`,
+                    name: '"dualModeMaxPendingPutsSize"',
+                    placeholder: '0',
+                    min: 'Number.MIN_SAFE_INTEGER',
+                    tip: 'Maximum amount of pending data read from the 
secondary file system and waiting to be written to data cache<br/>\
+                         Zero or negative value stands for unlimited size'
+                })
             .settings-row
-                +java-class('Put executor service:', 
`${model}.dualModePutExecutorService`, '"dualModePutExecutorService"', 'true', 
'false', 'DUAL mode put operation executor service')
+                +form-field__java-class({
+                    label: 'Put executor service:',
+                    model: `${model}.dualModePutExecutorService`,
+                    name: '"dualModePutExecutorService"',
+                    tip: 'DUAL mode put operation executor service'
+                })
             .settings-row
-                +checkbox('Put executor service shutdown', 
`${model}.dualModePutExecutorServiceShutdown`, 
'"dualModePutExecutorServiceShutdown"', 'DUAL mode put operation executor 
service shutdown flag')
+                +form-field__checkbox({
+                    label: 'Put executor service shutdown',
+                    model: `${model}.dualModePutExecutorServiceShutdown`,
+                    name: '"dualModePutExecutorServiceShutdown"',
+                    tip: 'DUAL mode put operation executor service shutdown 
flag'
+                })
         .pca-form-column-6
             +preview-xml-java(model, 'igfsDualMode')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/fragmentizer.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/fragmentizer.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/fragmentizer.pug
index a8194c2..d1fa76a 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/fragmentizer.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/fragmentizer.pug
@@ -26,12 +26,41 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
             -var enabled = `${model}.fragmentizerEnabled`
 
             .pc-form-grid-col-60
-                +checkbox('Enabled', enabled, '"fragmentizerEnabled"', 
'Fragmentizer enabled flag')
+                +form-field__checkbox({
+                    label: 'Enabled',
+                    model: enabled,
+                    name: '"fragmentizerEnabled"',
+                    tip: 'Fragmentizer enabled flag'
+                })
             .pc-form-grid-col-30
-                +number('Concurrent files:', 
`${model}.fragmentizerConcurrentFiles`, '"fragmentizerConcurrentFiles"', 
enabled, '0', '0', 'Number of files to process concurrently by fragmentizer')
+                +form-field__number({
+                    label: 'Concurrent files:',
+                    model: `${model}.fragmentizerConcurrentFiles`,
+                    name: '"fragmentizerConcurrentFiles"',
+                    disabled: `!(${enabled})`,
+                    placeholder: '0',
+                    min: '0',
+                    tip: 'Number of files to process concurrently by 
fragmentizer'
+                })
             .pc-form-grid-col-30
-                +number('Throttling block length:', 
`${model}.fragmentizerThrottlingBlockLength`, 
'"fragmentizerThrottlingBlockLength"', enabled, '16777216', '1', 'Length of 
file chunk to transmit before throttling is delayed')
+                +form-field__number({
+                    label: 'Throttling block length:',
+                    model: `${model}.fragmentizerThrottlingBlockLength`,
+                    name: '"fragmentizerThrottlingBlockLength"',
+                    disabled: `!(${enabled})`,
+                    placeholder: '16777216',
+                    min: '1',
+                    tip: 'Length of file chunk to transmit before throttling 
is delayed'
+                })
             .pc-form-grid-col-60
-                +number('Throttling delay:', 
`${model}.fragmentizerThrottlingDelay`, '"fragmentizerThrottlingDelay"', 
enabled, '200', '0', 'Delay in milliseconds for which fragmentizer is paused')
+                +form-field__number({
+                    label: 'Throttling delay:',
+                    model: `${model}.fragmentizerThrottlingDelay`,
+                    name: '"fragmentizerThrottlingDelay"',
+                    disabled: `!(${enabled})`,
+                    placeholder: '200',
+                    min: '0',
+                    tip: 'Delay in milliseconds for which fragmentizer is 
paused'
+                })
         .pca-form-column-6
             +preview-xml-java(model, 'igfsFragmentizer')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/general.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/general.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/general.pug
index 1ead726..777c123 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/general.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/general.pug
@@ -22,7 +22,7 @@ include /app/helpers/jade/mixins
 panel-collapsible(opened=`::true` ng-form=form)
     panel-title General
     panel-description
-        | General IGFS configuration. 
+        | General IGFS configuration.
         
a.link-success(href="https://apacheignite-fs.readme.io/docs/in-memory-file-system";
 target="_blank") More info
     panel-content.pca-form-row
         .pca-form-column-6.pc-form-grid-row
@@ -38,7 +38,7 @@ panel-collapsible(opened=`::true` ng-form=form)
                     ignite-unique-property='name'
                     ignite-unique-skip=`["_id", ${model}]`
                 )
-                    +unique-feedback(`${model}.name`, 'IGFS name should be 
unique.')
+                    +form-field__error({ error: 'igniteUnique', message: 'IGFS 
name should be unique.' })
             .pc-form-grid-col-30
                 +form-field__dropdown({
                     label: 'IGFS mode:',

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/ipc.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/ipc.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/ipc.pug
index ef024b4..efae60c 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/ipc.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/ipc.pug
@@ -28,28 +28,77 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
             -var enabled = `${model}.ipcEndpointEnabled`
 
             .pc-form-grid-col-60
-                +checkbox('Enabled', enabled, '"ipcEndpointEnabled"', 'IPC 
endpoint enabled flag')
+                +form-field__checkbox({
+                    label: 'Enabled',
+                    model: enabled,
+                    name: '"ipcEndpointEnabled"',
+                    tip: 'IPC endpoint enabled flag'
+                })
             .pc-form-grid-col-60
-                +dropdown('Type:', `${ipcEndpointConfiguration}.type`, 
'"ipcEndpointConfigurationType"', enabled, 'TCP',
-                    '[\
+                +form-field__dropdown({
+                    label: 'Type:',
+                    model: `${ipcEndpointConfiguration}.type`,
+                    name: '"ipcEndpointConfigurationType"',
+                    disabled: `!(${enabled})`,
+                    placeholder: 'TCP',
+                    options: '[\
                         {value: "SHMEM", label: "SHMEM"},\
                         {value: "TCP", label: "TCP"}\
                     ]',
-                    'IPC endpoint type\
-                    <ul>\
-                        <li>SHMEM - shared memory endpoint</li>\
-                        <li>TCP - TCP endpoint</li>\
-                    </ul>')
+                    tip: 'IPC endpoint type\
+                        <ul>\
+                            <li>SHMEM - shared memory endpoint</li>\
+                            <li>TCP - TCP endpoint</li>\
+                        </ul>'
+                })
             .pc-form-grid-col-30
-                +text-ip-address('Host:', `${ipcEndpointConfiguration}.host`, 
'"ipcEndpointConfigurationHost"', enabled, '127.0.0.1', 'Host endpoint is bound 
to')
+                +form-field__ip-address({
+                    label: 'Host:',
+                    model: `${ipcEndpointConfiguration}.host`,
+                    name: '"ipcEndpointConfigurationHost"',
+                    enabled: enabled,
+                    placeholder: '127.0.0.1',
+                    tip: 'Host endpoint is bound to'
+                })
             .pc-form-grid-col-30
-                +number-min-max('Port:', `${ipcEndpointConfiguration}.port`, 
'"ipcEndpointConfigurationPort"', enabled, '10500', '1', '65535', 'Port 
endpoint is bound to')
+                +form-field__number({
+                    label: 'Port:',
+                    model: `${ipcEndpointConfiguration}.port`,
+                    name: '"ipcEndpointConfigurationPort"',
+                    disabled: `!(${enabled})`,
+                    placeholder: '10500',
+                    min: '1',
+                    max: '65535',
+                    tip: 'Port endpoint is bound to'
+                })
             .pc-form-grid-col-30
-                +number('Memory size:', 
`${ipcEndpointConfiguration}.memorySize`, 
'"ipcEndpointConfigurationMemorySize"', enabled, '262144', '1', 'Shared memory 
size in bytes allocated for endpoint communication')
+                +form-field__number({
+                    label: 'Memory size:',
+                    model: `${ipcEndpointConfiguration}.memorySize`,
+                    name: '"ipcEndpointConfigurationMemorySize"',
+                    disabled: `!(${enabled})`,
+                    placeholder: '262144',
+                    min: '1',
+                    tip: 'Shared memory size in bytes allocated for endpoint 
communication'
+                })
             .pc-form-grid-col-30
-                +number('Thread count:', 
`${ipcEndpointConfiguration}.threadCount`, 
'"ipcEndpointConfigurationThreadCount"', enabled, 'availableProcessors', '1',
-                    'Number of threads used by this endpoint to process 
incoming requests')
+                +form-field__number({
+                    label: 'Thread count:',
+                    model: `${ipcEndpointConfiguration}.threadCount`,
+                    name: '"ipcEndpointConfigurationThreadCount"',
+                    disabled: `!(${enabled})`,
+                    placeholder: 'availableProcessors',
+                    min: '1',
+                    tip: 'Number of threads used by this endpoint to process 
incoming requests'
+                })
             .pc-form-grid-col-60
-                +text-enabled('Token directory:', 
`${ipcEndpointConfiguration}.tokenDirectoryPath`, 
'"ipcEndpointConfigurationTokenDirectoryPath"', enabled, 'false', 'ipc/shmem', 
'Directory where shared memory tokens are stored')
+                +form-field__text({
+                    label: 'Token directory:',
+                    model: `${ipcEndpointConfiguration}.tokenDirectoryPath`,
+                    name: '"ipcEndpointConfigurationTokenDirectoryPath"',
+                    disabled: `!(${enabled})`,
+                    placeholder: 'ipc/shmem',
+                    tip: 'Directory where shared memory tokens are stored'
+                })
         .pca-form-column-6
             +preview-xml-java(model, 'igfsIPC')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/misc.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/misc.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/misc.pug
index 78b2b55..cf68e72 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/misc.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/misc.pug
@@ -26,46 +26,138 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
     panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
         .pca-form-column-6.pc-form-grid-row
             .pc-form-grid-col-60
-                +number('Block size:', `${model}.blockSize`, '"blockSize"', 
'true', '65536', '0', 'File data block size in bytes')
+                +form-field__number({
+                    label: 'Block size:',
+                    model: `${model}.blockSize`,
+                    name: '"blockSize"',
+                    placeholder: '65536',
+                    min: '0',
+                    tip: 'File data block size in bytes'
+                })
 
             //- Since ignite 2.0
             .pc-form-grid-col-60(ng-if='$ctrl.available("2.0.0")')
-                +number('Buffer size:', `${model}.streamBufferSize`, 
'"streamBufferSize"', 'true', '65536', '0', 'Read/write buffer size for IGFS 
stream operations in bytes')
+                +form-field__number({
+                    label: 'Buffer size:',
+                    model: `${model}.streamBufferSize`,
+                    name: '"streamBufferSize"',
+                    placeholder: '65536',
+                    min: '0',
+                    tip: 'Read/write buffer size for IGFS stream operations in 
bytes'
+                })
 
             //- Removed in ignite 2.0
             .pc-form-grid-col-60(ng-if-start='$ctrl.available(["1.0.0", 
"2.0.0"])')
-                +number('Stream buffer size:', `${model}.streamBufferSize`, 
'"streamBufferSize"', 'true', '65536', '0', 'Read/write buffer size for IGFS 
stream operations in bytes')
+                +form-field__number({
+                    label: 'Stream buffer size:',
+                    model: `${model}.streamBufferSize`,
+                    name: '"streamBufferSize"',
+                    placeholder: '65536',
+                    min: '0',
+                    tip: 'Read/write buffer size for IGFS stream operations in 
bytes'
+                })
             .pc-form-grid-col-60(ng-if-end)
-                +number('Maximum space size:', `${model}.maxSpaceSize`, 
'"maxSpaceSize"', 'true', '0', '0', 'Maximum space available for data cache to 
store file system entries')
+                +form-field__number({
+                    label: 'Maximum space size:',
+                    model: `${model}.maxSpaceSize`,
+                    name: '"maxSpaceSize"',
+                    placeholder: '0',
+                    min: '0',
+                    tip: 'Maximum space available for data cache to store file 
system entries'
+                })
 
             .pc-form-grid-col-30
-                +number('Maximum task range length:', 
`${model}.maximumTaskRangeLength`, '"maximumTaskRangeLength"', 'true', '0', 
'0', 'Maximum default range size of a file being split during IGFS task 
execution')
+                +form-field__number({
+                    label: 'Maximum task range length:',
+                    model: `${model}.maximumTaskRangeLength`,
+                    name: '"maximumTaskRangeLength"',
+                    placeholder: '0',
+                    min: '0',
+                    tip: 'Maximum default range size of a file being split 
during IGFS task execution'
+                })
             .pc-form-grid-col-30
-                +number-min-max('Management port:', `${model}.managementPort`, 
'"managementPort"', 'true', '11400', '0', '65535', 'Port number for management 
endpoint')
+                +form-field__number({
+                    label: 'Management port:',
+                    model: `${model}.managementPort`,
+                    name: '"managementPort"',
+                    placeholder: '11400',
+                    min: '0',
+                    max: '65535',
+                    tip: 'Port number for management endpoint'
+                })
             .pc-form-grid-col-30
-                +number('Per node batch size:', `${model}.perNodeBatchSize`, 
'"perNodeBatchSize"', 'true', '100', '0', 'Number of file blocks collected on 
local node before sending batch to remote node')
+                +form-field__number({
+                    label: 'Per node batch size:',
+                    model: `${model}.perNodeBatchSize`,
+                    name: '"perNodeBatchSize"',
+                    placeholder: '100',
+                    min: '0',
+                    tip: 'Number of file blocks collected on local node before 
sending batch to remote node'
+                })
             .pc-form-grid-col-30
-                +number('Per node parallel batch count:', 
`${model}.perNodeParallelBatchCount`, '"perNodeParallelBatchCount"', 'true', 
'8', '0', 'Number of file block batches that can be concurrently sent to remote 
node')
+                +form-field__number({
+                    label: 'Per node parallel batch count:',
+                    model: `${model}.perNodeParallelBatchCount`,
+                    name: '"perNodeParallelBatchCount"',
+                    placeholder: '8',
+                    min: '0',
+                    tip: 'Number of file block batches that can be 
concurrently sent to remote node'
+                })
             .pc-form-grid-col-60
-                +number('Prefetch blocks:', `${model}.prefetchBlocks`, 
'"prefetchBlocks"', 'true', '0', '0', 'Number of pre-fetched blocks if specific 
file chunk is requested')
+                +form-field__number({
+                    label: 'Prefetch blocks:',
+                    model: `${model}.prefetchBlocks`,
+                    name: '"prefetchBlocks"',
+                    placeholder: '8',
+                    min: '0',
+                    tip: 'Number of pre-fetched blocks if specific file chunk 
is requested'
+                })
             .pc-form-grid-col-60
-                +number('Sequential reads before prefetch:', 
`${model}.sequentialReadsBeforePrefetch`, '"sequentialReadsBeforePrefetch"', 
'true', '0', '0', 'Amount of sequential block reads before prefetch is 
triggered')
+                +form-field__number({
+                    label: 'Sequential reads before prefetch:',
+                    model: `${model}.sequentialReadsBeforePrefetch`,
+                    name: '"sequentialReadsBeforePrefetch"',
+                    placeholder: '8',
+                    min: '0',
+                    tip: 'Amount of sequential block reads before prefetch is 
triggered'
+                })
 
             //- Removed in ignite 2.0
             .pc-form-grid-col-60(ng-if='$ctrl.available(["1.0.0", "2.0.0"])')
-                +number('Trash purge timeout:', `${model}.trashPurgeTimeout`, 
'"trashPurgeTimeout"', 'true', '1000', '0', 'Maximum timeout awaiting for trash 
purging in case data cache oversize is detected')
+                +form-field__number({
+                    label: 'Trash purge timeout:',
+                    model: `${model}.trashPurgeTimeout`,
+                    name: '"trashPurgeTimeout"',
+                    placeholder: '1000',
+                    min: '0',
+                    tip: 'Maximum timeout awaiting for trash purging in case 
data cache oversize is detected'
+                })
 
             .pc-form-grid-col-60
-                +checkbox('Colocate metadata', `${model}.colocateMetadata`, 
'"colocateMetadata"', 'Whether to co-locate metadata on a single node')
+                +form-field__checkbox({
+                    label: 'Colocate metadata',
+                    model: `${model}.colocateMetadata`,
+                    name: '"colocateMetadata"',
+                    tip: 'Whether to co-locate metadata on a single node'
+                })
             .pc-form-grid-col-60
-                +checkbox('Relaxed consistency', 
`${model}.relaxedConsistency`, '"relaxedConsistency"',
-                    'If value of this flag is <b>true</b>, IGFS will skip 
expensive consistency checks<br/>\
-                    It is recommended to set this flag to <b>false</b> if your 
application has conflicting\
-                    operations, or you do not know how exactly users will use 
your system')
+                +form-field__checkbox({
+                    label: 'Relaxed consistency',
+                    model: `${model}.relaxedConsistency`,
+                    name: '"relaxedConsistency"',
+                    tip: 'If value of this flag is <b>true</b>, IGFS will skip 
expensive consistency checks<br/>\
+                         It is recommended to set this flag to <b>false</b> if 
your application has conflicting\
+                         operations, or you do not know how exactly users will 
use your system'
+                })
 
             //- Since ignite 2.0
             .pc-form-grid-col-60(ng-if='$ctrl.available("2.0.0")')
-                +checkbox('Update file length on flush', model + 
'.updateFileLengthOnFlush', '"updateFileLengthOnFlush"', 'Update file length on 
flush flag')
+                +form-field__checkbox({
+                    label: 'Update file length on flush',
+                    model: model + '.updateFileLengthOnFlush',
+                    name: '"updateFileLengthOnFlush"',
+                    tip: 'Update file length on flush flag'
+                })
 
             .pc-form-grid-col-60
                 mixin igfs-misc-path-modes

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/secondary.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/secondary.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/secondary.pug
index f83b00e..4d779f1 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/secondary.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/igfs-edit-form/templates/secondary.pug
@@ -22,7 +22,7 @@ include /app/helpers/jade/mixins
 panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
     panel-title Secondary file system
     panel-description
-        | Secondary file system is provided for pass-through, write-through, 
and read-through purposes. 
+        | Secondary file system is provided for pass-through, write-through, 
and read-through purposes.
         
a.link-success(href="https://apacheignite-fs.readme.io/docs/secondary-file-system";
 target="_blank") More info
     panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
         .pca-form-column-6.pc-form-grid-row
@@ -46,10 +46,31 @@ panel-collapsible(ng-form=form 
on-open=`ui.loadPanel('${form}')`)
                     +form-field__error({ error: 'requiredWhenIGFSProxyMode', 
message: 'Secondary file system should be configured for "PROXY" IGFS mode' })
                     +form-field__error({ error: 
'requiredWhenPathModeProxyMode', message: 'Secondary file system should be 
configured for "PROXY" path mode' })
             .pc-form-grid-col-60
-                +text-enabled('URI:', `${secondaryFileSystem}.uri`, 
'"hadoopURI"', enabled, 'false', 'hdfs://[namenodehost]:[port]/[path]', 'URI of 
file system')
+                +form-field__text({
+                    label: 'URI:',
+                    model: `${secondaryFileSystem}.uri`,
+                    name: '"hadoopURI"',
+                    disabled: `!(${enabled})`,
+                    placeholder: 'hdfs://[namenodehost]:[port]/[path]',
+                    tip: 'URI of file system'
+                })
             .pc-form-grid-col-60
-                +text-enabled('Config path:', 
`${secondaryFileSystem}.cfgPath`, '"cfgPath"', enabled, 'false', 'Path to 
additional config', 'Additional path to Hadoop configuration')
+                +form-field__text({
+                    label: 'Config path:',
+                    model: `${secondaryFileSystem}.cfgPath`,
+                    name: '"cfgPath"',
+                    disabled: `!(${enabled})`,
+                    placeholder: 'Path to additional config',
+                    tip: 'Additional path to Hadoop configuration'
+                })
             .pc-form-grid-col-60
-                +text-enabled('User name:', `${secondaryFileSystem}.userName`, 
'"userName"', enabled, 'false', 'Input user name', 'User name')
+                +form-field__text({
+                    label: 'User name:',
+                    model: `${secondaryFileSystem}.userName`,
+                    name: '"userName"',
+                    disabled: `!(${enabled})`,
+                    placeholder: 'Input user name',
+                    tip: 'User name'
+                })
         .pca-form-column-6
             +preview-xml-java(model, 'igfsSecondFS')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/general.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/general.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/general.pug
index 7b96584..589760e 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/general.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/general.pug
@@ -23,13 +23,18 @@ include /app/helpers/jade/mixins
 panel-collapsible(opened=`::true` ng-form=form)
     panel-title General
     panel-description
-        | Domain model properties common for Query and Store. 
-        
a.link-success(href="https://apacheignite.readme.io/docs/cache-queries"; 
target="_blank") More info about query configuration. 
+        | Domain model properties common for Query and Store.
+        
a.link-success(href="https://apacheignite.readme.io/docs/cache-queries"; 
target="_blank") More info about query configuration.
         
a.link-success(href="https://apacheignite.readme.io/docs/3rd-party-store"; 
target="_blank") More info about store.
     panel-content.pca-form-row
         .pca-form-column-6.pc-form-grid-row
             .pc-form-grid-col-60
-                +checkbox('Generate POJO classes', generatePojo, 
'"generatePojo"', 'If selected then POJO classes will be generated from 
database tables')
+                +form-field__checkbox({
+                    label: 'Generate POJO classes',
+                    model: generatePojo,
+                    name: '"generatePojo"',
+                    tip: 'If selected then POJO classes will be generated from 
database tables'
+                })
             .pc-form-grid-col-30
                 +form-field__dropdown({
                     label: 'Caches:',
@@ -42,16 +47,42 @@ panel-collapsible(opened=`::true` ng-form=form)
                     tip: 'Select caches to describe types in cache'
                 })
             .pc-form-grid-col-30
-                +dropdown-required('Query metadata:', 
`${model}.queryMetadata`, '"queryMetadata"', 'true', 'true', '', 
'::$ctrl.Models.queryMetadata.values',
-                    'Query metadata configured with:\
-                    <ul>\
-                        <li>Java annotations like @QuerySqlField</li>\
-                        <li>Configuration via QueryEntity class</li>\
-                    </ul>')
+                +form-field__dropdown({
+                    label: 'Query metadata:',
+                    model: `${model}.queryMetadata`,
+                    name: '"queryMetadata"',
+                    required: 'true',
+                    placeholder: '',
+                    options: '::$ctrl.Models.queryMetadata.values',
+                    tip: 'Query metadata configured with:\
+                          <ul>\
+                            <li>Java annotations like @QuerySqlField</li>\
+                            <li>Configuration via QueryEntity class</li>\
+                          </ul>'
+                })
+
             .pc-form-grid-col-60
-                +java-class-typeahead('Key type:', `${model}.keyType`, 
'"keyType"', '$ctrl.javaBuiltInClassesBase', 'true', 'true', '{{ ' + 
generatePojo + ' ? "Full class name for Key" : "Key type name" }}', 'Key class 
used to store key in cache', generatePojo)
+                +form-field__java-class--typeahead({
+                    label: 'Key type:',
+                    model: `${model}.keyType`,
+                    name: '"keyType"',
+                    options: '$ctrl.javaBuiltInClassesBase',
+                    required: 'true',
+                    placeholder: '{{ ' + generatePojo + ' ? "Full class name 
for Key" : "Key type name" }}',
+                    tip: 'Key class used to store key in cache',
+                    validationActive: generatePojo
+                })
             .pc-form-grid-col-60
-                +java-class-autofocus-placholder('Value type:', 
`${model}.valueType`, '"valueType"', 'true', 'true', 'false', '{{ ' + 
generatePojo +' ? "Enter fully qualified class name" : "Value type name" }}', 
'Value class used to store value in cache', generatePojo)
+                +form-field__java-class({
+                    label: 'Value type:',
+                    model: `${model}.valueType`,
+                    name: '"valueType"',
+                    placeholder: '{{ ' + generatePojo +' ? "Enter fully 
qualified class name" : "Value type name" }}',
+                    tip: 'Value class used to store value in cache',
+                    validationActive: generatePojo
+                })(
+                    ignite-form-field-input-autofocus=autofocus
+                )
 
         .pca-form-column-6
             +preview-xml-java(model, 'domainModelGeneral')

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/query.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/query.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/query.pug
index 9df60c6..ec9f1d4 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/query.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/query.pug
@@ -26,7 +26,7 @@ include /app/helpers/jade/mixins
 panel-collapsible(ng-form=form opened=`!!${model}.queryMetadata`)
     panel-title#query-title Domain model for SQL query
     panel-description
-        | Domain model properties for fields queries. 
+        | Domain model properties for fields queries.
         
a.link-success(href='https://apacheignite.readme.io/docs/cache-queries' 
target='_blank') More info
     panel-content.pca-form-row
         .pca-form-column-6.pc-form-grid-row
@@ -37,16 +37,31 @@ panel-collapsible(ng-form=form 
opened=`!!${model}.queryMetadata`)
                 label Not available for annotated types
 
             .pc-form-grid-col-60(ng-if-start=`${model}.queryMetadata === 
'Configuration'`)
-                +text('Table name:', `${model}.tableName`, '"tableName"', 
'false', 'Enter table name')
+                +form-field__text({
+                    label: 'Table name:',
+                    model: `${model}.tableName`,
+                    name: '"tableName"',
+                    placeholder: 'Enter table name'
+                })
 
             .pc-form-grid-col-30(ng-if-start='$ctrl.available("2.0.0")')
-                +text('Key field name:', `${model}.keyFieldName`, 
'"keyFieldName"', 'false', 'Enter key field name',
-                    'Key name.<br/>' +
-                    'Can be used in field list to denote the key as a whole')
+                +form-field__text({
+                    label: 'Key field name:',
+                    model: `${model}.keyFieldName`,
+                    name: '"keyFieldName"',
+                    placeholder: 'Enter key field name',
+                    tip: 'Key name.<br/>' +
+                        'Can be used in field list to denote the key as a 
whole'
+                })
             .pc-form-grid-col-30(ng-if-end)
-                +text('Value field name:', `${model}.valueFieldName`, 
'"valueFieldName"', 'false', 'Enter value field name',
-                    'Value name.<br/>' +
-                    'Can be used in field list to denote the entire value')
+                +form-field__text({
+                    label: 'Value field name:',
+                    model: `${model}.valueFieldName`,
+                    name: '"valueFieldName"',
+                    placeholder: 'Enter value field name',
+                    tip: 'Value name.<br/>' +
+                        'Can be used in field list to denote the entire value'
+                })
 
             .pc-form-grid-col-60
                 mixin domains-query-fields
@@ -70,17 +85,24 @@ panel-collapsible(ng-form=form 
opened=`!!${model}.queryMetadata`)
                                         +form-field__text({
                                             label: 'Field name:',
                                             model: '$item.name',
-                                            name: '"name"', 
+                                            name: '"name"',
                                             required: true,
                                             placeholder: 'Enter field name'
                                         })(
-                                            data-ignite-unique=items
-                                            data-ignite-unique-property='name'
+                                            ignite-unique=items
+                                            ignite-unique-property='name'
                                             ignite-auto-focus
                                         )
-                                            +unique-feedback('"name"', 
'Property with such name already exists!')
+                                            +form-field__error({ error: 
'igniteUnique', message: 'Property with such name already exists!' })
                                     .pc-form-grid-col-30
-                                        +java-class-typeahead('Field full 
class name:', `$item.className`, '"className"', '$ctrl.queryFieldTypes', true, 
true, 'Enter field full class name')(
+                                        +form-field__java-class--typeahead({
+                                            label: 'Field full class name:',
+                                            model: `$item.className`,
+                                            name: '"className"',
+                                            options: '$ctrl.queryFieldTypes',
+                                            required: 'true',
+                                            placeholder: 'Enter field full 
class name'
+                                        })(
                                             ng-model-options='{allowInvalid: 
true}'
                                             
extra-valid-java-identifiers='$ctrl.queryFieldTypes'
                                         )
@@ -130,11 +152,11 @@ panel-collapsible(ng-form=form 
opened=`!!${model}.queryMetadata`)
                                             required: true,
                                             placeholder: 'Enter field name'
                                         })(
-                                            data-ignite-unique=items
-                                            data-ignite-unique-property='field'
+                                            ignite-unique=items
+                                            ignite-unique-property='field'
                                             ignite-auto-focus
                                         )
-                                            +unique-feedback('"field"', 'Such 
field already exists!')
+                                            +form-field__error({ error: 
'igniteUnique', message: 'Such field already exists!' })
                                     .pc-form-grid-col-30
                                         +form-field__text({
                                             label: 'Field alias',
@@ -190,7 +212,7 @@ panel-collapsible(ng-form=form 
opened=`!!${model}.queryMetadata`)
                                         ignite-unique-property='name'
                                         
ignite-form-field-input-autofocus='true'
                                     )
-                                        +unique-feedback(_, 'Such index 
already exists!')
+                                        +form-field__error({ error: 
'igniteUnique', message: 'Such index already exists!' })
                                 .pc-form-grid-col-30
                                     +form-field__dropdown({
                                         label: 'Index type:',
@@ -211,7 +233,7 @@ panel-collapsible(ng-form=form 
opened=`!!${model}.queryMetadata`)
                                             ng-required='true'
                                         )
                                             
list-editable-item-view(item-name='indexField')
-                                                | {{ indexField.name }} 
+                                                | {{ indexField.name }}
                                                 
span(ng-if='queryIndex.indexType === "SORTED"')
                                                     |  / {{ 
indexField.direction ? "ASC" : "DESC" }}
 
@@ -232,7 +254,7 @@ panel-collapsible(ng-form=form 
opened=`!!${model}.queryMetadata`)
                                                             
ignite-unique-property='name'
                                                             ignite-auto-focus
                                                         )
-                                                            
+unique-feedback(_, 'Such field already exists!')
+                                                            
+form-field__error({ error: 'igniteUnique', message: 'Such field already 
exists!' })
                                                     .pc-form-grid-col-60(
                                                         
ng-if='queryIndex.indexType === "SORTED"'
                                                     )

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/store.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/store.pug
 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/store.pug
index 4d46a34..0e1a44d 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/store.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/components/model-edit-form/templates/store.pug
@@ -49,9 +49,16 @@ mixin list-db-field-edit({ items, itemName, itemsName })
                         ignite-unique=items
                         ignite-unique-property='databaseFieldName'
                     )
-                        +unique-feedback(_, 'DB name should be unique')
+                        +form-field__error({ error: 'igniteUnique', message: 
'DB name should be unique' })
                 .pc-form-grid-col-30
-                    +dropdown-required('DB type:', '$item.databaseFieldType', 
'"databaseFieldType"', true, true, 'Choose DB type', 'supportedJdbcTypes')
+                    +form-field__dropdown({
+                        label: 'DB type:',
+                        model:'$item.databaseFieldType',
+                        name: '"databaseFieldType"',
+                        required: 'true',
+                        placeholder: 'Choose DB type',
+                        options: 'supportedJdbcTypes'
+                    })
                 .pc-form-grid-col-30(divider='/')
                     +form-field__text({
                         label: 'Java name:',
@@ -64,9 +71,16 @@ mixin list-db-field-edit({ items, itemName, itemsName })
                         ignite-unique=items
                         ignite-unique-property='javaFieldName'
                     )
-                        +unique-feedback(_, 'Java name should be unique')
+                        +form-field__error({ error: 'igniteUnique', message: 
'Java name should be unique' })
                 .pc-form-grid-col-30
-                    +dropdown-required('Java type:', '$item.javaFieldType', 
'"javaFieldType"', true, true, 'Choose Java type', 'supportedJavaTypes')
+                    +form-field__dropdown({
+                        label: 'Java type:',
+                        model: '$item.javaFieldType',
+                        name: '"javaFieldType"',
+                        required: 'true',
+                        placeholder: 'Choose Java type',
+                        options: 'supportedJavaTypes'
+                    })
 
         list-editable-no-items
             list-editable-add-item-button(
@@ -78,14 +92,26 @@ mixin list-db-field-edit({ items, itemName, itemsName })
 panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
     panel-title#store-title Domain model for cache store
     panel-description
-        | Domain model properties for binding database with cache via POJO 
cache store. 
+        | Domain model properties for binding database with cache via POJO 
cache store.
         
a.link-success(href="https://apacheignite.readme.io/docs/3rd-party-store"; 
target="_blank") More info
     panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
         .pca-form-column-6.pc-form-grid-row
             .pc-form-grid-col-30
-                +text('Database schema:', model + '.databaseSchema', 
'"databaseSchema"', 'false', 'Input DB schema name', 'Schema name in database')
+                +form-field__text({
+                    label: 'Database schema:',
+                    model: model + '.databaseSchema',
+                    name: '"databaseSchema"',
+                    placeholder: 'Input DB schema name',
+                    tip: 'Schema name in database'
+                })
             .pc-form-grid-col-30
-                +text('Database table:', model + '.databaseTable', 
'"databaseTable"', 'false', 'Input DB table name', 'Table name in database')
+                +form-field__text({
+                    label: 'Database table:',
+                    model: model + '.databaseTable',
+                    name: '"databaseTable"',
+                    placeholder: 'Input DB table name',
+                    tip: 'Table name in database'
+                })
             .pc-form-grid-col-60
                 .ignite-form-field
                     +form-field__label({ label: 'Key fields:', name: 
'"keyFields"' })

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-advanced/style.scss
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-advanced/style.scss
 
b/modules/web-console/frontend/app/components/page-configure-advanced/style.scss
index 9480486..40cd713 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-advanced/style.scss
+++ 
b/modules/web-console/frontend/app/components/page-configure-advanced/style.scss
@@ -114,12 +114,6 @@ page-configure-advanced {
         user-select: none;
         cursor: pointer;
 
-        ignite-form-panel-chevron {
-            margin-right: 10px;
-            position: relative;
-            top: -3px;
-        }
-
         .pca-panel-heading-title {
             font-size: 16px;
             margin-right: 8px;

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-configure-basic/template.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure-basic/template.pug 
b/modules/web-console/frontend/app/components/page-configure-basic/template.pug
index 6916f80..996ddcc 100644
--- 
a/modules/web-console/frontend/app/components/page-configure-basic/template.pug
+++ 
b/modules/web-console/frontend/app/components/page-configure-basic/template.pug
@@ -52,7 +52,7 @@ form(novalidate name=form)
                 ignite-unique-property='name'
                 ignite-unique-skip=`["_id", ${model}]`
             )
-                +unique-feedback(`${model}.name`, 'Cluster name should be 
unique.')
+                +form-field__error({ error: 'igniteUnique', message: 'Cluster 
name should be unique.' })
 
         .pc-form-grid__break
         .pc-form-grid-col-60
@@ -154,7 +154,7 @@ form(novalidate name=form)
                                 ignite-unique-property='name'
                                 ignite-form-field-input-autofocus='true'
                             )
-                                +unique-feedback('"name"', 'Cache name should 
be unqiue')
+                                +form-field__error({ error: 'igniteUnique', 
message: 'Cache name should be unqiue' })
                         div
                             +form-field__cache-modes({
                                 label: 'Mode:',
@@ -171,7 +171,7 @@ form(novalidate name=form)
                                 options: '::$ctrl.Caches.atomicityModes'
                             })
                         
div(ng-show='$ctrl.Caches.shouldShowCacheBackupsCount($item)')
-                            +form-field__number({ 
+                            +form-field__number({
                                 label: 'Backups:',
                                 model: '$item.backups',
                                 name: '"backups"',
@@ -184,7 +184,7 @@ form(novalidate name=form)
                             label-single='cache'
                             label-multiple='caches'
                         )
-        
+
     .pc-form-actions-panel
         button-preview-project(ng-hide='$ctrl.isNew$|async:this' cluster=model)
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/style.scss
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/style.scss
 
b/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/style.scss
index a687d75..fe0ede1 100644
--- 
a/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/style.scss
+++ 
b/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/style.scss
@@ -142,3 +142,35 @@ queries-notebook {
         overflow-y: auto;
     }
 }
+
+.popover.settings.refresh-rate {
+    width: 244px;
+
+    [ignite-icon] {
+        height: 12px;
+    }
+
+    .popover-title {
+        padding: 10px;
+        font-size: 14px;
+    }
+
+    .actions {
+        width: 100%;
+        text-align: right;
+
+        button {
+            margin-top: 20px;
+            margin-right: 0;
+        }
+    }
+
+    .ignite-form-field {
+        display: flex;
+        padding: 5px;
+
+        input {
+            margin-right: 10px;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/template.tpl.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/template.tpl.pug
 
b/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/template.tpl.pug
index 9ae56d0..781ce51 100644
--- 
a/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/template.tpl.pug
+++ 
b/modules/web-console/frontend/app/components/page-queries/components/queries-notebook/template.tpl.pug
@@ -320,7 +320,13 @@ mixin paragraph-scan
     .panel-collapse(role='tabpanel' bs-collapse-target)
         .col-sm-12.sql-controls
             .col-sm-3
-                +dropdown-required('Cache:', 'paragraph.cacheName', '"cache"', 
'true', 'false', 'Choose cache', 'caches')
+                +form-field__dropdown({
+                    label: 'Cache:',
+                    model: 'paragraph.cacheName',
+                    name: '"cache"',
+                    placeholder: 'Choose cache',
+                    options: 'caches'
+                })
             .col-sm-3
                 +form-field__sensitive({
                     label: 'Filter:',

Reply via email to