You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by nt...@apache.org on 2017/04/03 08:31:06 UTC
[06/50] [abbrv] ignite git commit: IGNITE-4659 Migration to Webpack
2. Upgrade template engine from jade to pug. (cherry picked from commit
1080e68)
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/reset.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/reset.jade b/modules/web-console/frontend/views/reset.jade
deleted file mode 100644
index 9098105..0000000
--- a/modules/web-console/frontend/views/reset.jade
+++ /dev/null
@@ -1,48 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-header#header.header
- table.container
- tr
- td.col-xs-3.col-sm-3.col-md-2
- ignite-header-logo
- td
- ignite-header-title
-
-.container.body-container
- .main-content(ng-controller='resetPassword')
- .row
- .text-center(ng-if='!token')
- p Further instructions for password reset have been sent to your e-mail address.
- .text-center(ng-if='error')
- p {{::error}}
- div(ng-if='token && !error')
- form.form-horizontal(name='resetForm' ng-init='reset_info.token = token')
- .settings-row
- label.col-sm-1 E-mail:
- label {{::email}}
- .settings-row
- label.col-sm-1.required Password:
- .col-sm-3
- input#user_password.form-control(ignite-on-enter-focus-move='user_confirm' type='password' ng-model='reset_info.password' placeholder='New password' required)
- .settings-row
- label.col-sm-1.required Confirm:
- .col-sm-3
- input#user_confirm.form-control(type='password' ng-model='reset_info.confirm' ignite-match='reset_info.password' placeholder='Confirm new password' required ignite-on-enter='resetForm.$valid && resetPassword(user_info)')
- .settings-row
- button.btn.btn-primary(ng-disabled='resetForm.$invalid' ng-click='resetPassword(reset_info)') Reset Password
-
-include includes/footer
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/reset.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/reset.tpl.pug b/modules/web-console/frontend/views/reset.tpl.pug
new file mode 100644
index 0000000..9098105
--- /dev/null
+++ b/modules/web-console/frontend/views/reset.tpl.pug
@@ -0,0 +1,48 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+header#header.header
+ table.container
+ tr
+ td.col-xs-3.col-sm-3.col-md-2
+ ignite-header-logo
+ td
+ ignite-header-title
+
+.container.body-container
+ .main-content(ng-controller='resetPassword')
+ .row
+ .text-center(ng-if='!token')
+ p Further instructions for password reset have been sent to your e-mail address.
+ .text-center(ng-if='error')
+ p {{::error}}
+ div(ng-if='token && !error')
+ form.form-horizontal(name='resetForm' ng-init='reset_info.token = token')
+ .settings-row
+ label.col-sm-1 E-mail:
+ label {{::email}}
+ .settings-row
+ label.col-sm-1.required Password:
+ .col-sm-3
+ input#user_password.form-control(ignite-on-enter-focus-move='user_confirm' type='password' ng-model='reset_info.password' placeholder='New password' required)
+ .settings-row
+ label.col-sm-1.required Confirm:
+ .col-sm-3
+ input#user_confirm.form-control(type='password' ng-model='reset_info.confirm' ignite-match='reset_info.password' placeholder='Confirm new password' required ignite-on-enter='resetForm.$valid && resetPassword(user_info)')
+ .settings-row
+ button.btn.btn-primary(ng-disabled='resetForm.$invalid' ng-click='resetPassword(reset_info)') Reset Password
+
+include includes/footer
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/settings/admin.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/settings/admin.jade b/modules/web-console/frontend/views/settings/admin.jade
deleted file mode 100644
index a09fda9..0000000
--- a/modules/web-console/frontend/views/settings/admin.jade
+++ /dev/null
@@ -1,25 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-.admin-page.row
- .docs-content.greedy
- .docs-header
- h1 Admin panel
- hr
- .docs-body
- .row
- .col-xs-12
- ignite-list-of-registered-users(data-options='ctrl.data')
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/settings/admin.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/settings/admin.tpl.pug b/modules/web-console/frontend/views/settings/admin.tpl.pug
new file mode 100644
index 0000000..a09fda9
--- /dev/null
+++ b/modules/web-console/frontend/views/settings/admin.tpl.pug
@@ -0,0 +1,25 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+.admin-page.row
+ .docs-content.greedy
+ .docs-header
+ h1 Admin panel
+ hr
+ .docs-body
+ .row
+ .col-xs-12
+ ignite-list-of-registered-users(data-options='ctrl.data')
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/settings/profile.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/settings/profile.jade b/modules/web-console/frontend/views/settings/profile.jade
deleted file mode 100644
index 6f91f8f..0000000
--- a/modules/web-console/frontend/views/settings/profile.jade
+++ /dev/null
@@ -1,76 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-mixin lbl(txt)
- label.col-sm-2.required.labelFormField #{txt}
-
-.row(ng-controller='profileController')
- .docs-content.greedy
- .docs-header
- h1 User profile
- hr
- .docs-body
- form.form-horizontal(name='profileForm' novalidate)
- .col-sm-10(style='padding: 0')
- .details-row
- +lbl('First name:')
- .col-xs-5.col-sm-4
- input#profile-firstname.form-control(ignite-on-enter-focus-move='profile-lastname' type='text' ng-model='user.firstName' placeholder='Input first name' required ignite-auto-focus)
- .details-row
- +lbl('Last name:')
- .col-xs-5.col-sm-4
- input#profile-lastname.form-control(ignite-on-enter-focus-move='profile-email' type='text' ng-model='user.lastName' placeholder='Input last name' required)
- .details-row
- +lbl('Email:')
- .col-xs-5.col-sm-4
- input#profile-email.form-control(ignite-on-enter-focus-move='profile-company' type='email' ng-model='user.email' placeholder='Input email' required)
- .details-row
- +lbl('Company:')
- .col-xs-5.col-sm-4
- input#profile-company.form-control(ignite-on-enter-focus-move='profile-country' type='text' ng-model='user.company' placeholder='Input company name' required)
- .details-row
- +lbl('Country:')
- .col-xs-5.col-sm-4
- button#profile-country.select-toggle.form-control(bs-select bs-options='item.name as item.name for item in countries' type='text' ng-model='user.country' placeholder='Choose your country' ng-required='true')
- .details-row
- .advanced-options
- i.fa(
- ng-click='toggleToken()'
- ng-class='expandedToken ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
- a(ng-click='toggleToken()') {{expandedToken ? 'Cancel security token changing...' : 'Show security token...'}}
- div(ng-if='expandedToken')
- +lbl('Security token:')
- label {{user.token || 'No security token. Regenerate please.'}}
- i.tipLabel.fa.fa-refresh(ng-click='generateToken()' bs-tooltip='' data-title='Generate random security token')
- i.tipLabel.fa.fa-clipboard(ignite-copy-to-clipboard='{{user.token}}' bs-tooltip='' data-title='Copy security token to clipboard')
- i.tipLabel.icon-help(ng-if=lines bs-tooltip='' data-title='The security token is used for authorization of web agent')
- .details-row
- .advanced-options
- i.fa(
- ng-click='togglePassword()'
- ng-class='expandedPassword ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
- a(ng-click='togglePassword()') {{expandedPassword ? 'Cancel password changing...' : 'Change password...'}}
- div(ng-if='expandedPassword')
- .details-row
- +lbl('New password:')
- .col-xs-5.col-sm-4
- input#profile_password.form-control(ignite-on-enter-focus-move='profile_confirm' type='password' ng-model='user.password' placeholder='New password')
- .details-row
- +lbl('Confirm:')
- .col-xs-5.col-sm-4
- input#profile_confirm.form-control(type='password' ng-model='user.confirm' ignite-match='user.password' placeholder='Confirm new password')
- .col-xs-12.col-sm-12.details-row
- a.btn.btn-primary(ng-disabled='!profileCouldBeSaved()' ng-click='profileCouldBeSaved() && saveUser()' bs-tooltip='' data-title='{{saveBtnTipText()}}' data-placement='bottom' data-trigger='hover') Save
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/settings/profile.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/settings/profile.tpl.pug b/modules/web-console/frontend/views/settings/profile.tpl.pug
new file mode 100644
index 0000000..6f91f8f
--- /dev/null
+++ b/modules/web-console/frontend/views/settings/profile.tpl.pug
@@ -0,0 +1,76 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+mixin lbl(txt)
+ label.col-sm-2.required.labelFormField #{txt}
+
+.row(ng-controller='profileController')
+ .docs-content.greedy
+ .docs-header
+ h1 User profile
+ hr
+ .docs-body
+ form.form-horizontal(name='profileForm' novalidate)
+ .col-sm-10(style='padding: 0')
+ .details-row
+ +lbl('First name:')
+ .col-xs-5.col-sm-4
+ input#profile-firstname.form-control(ignite-on-enter-focus-move='profile-lastname' type='text' ng-model='user.firstName' placeholder='Input first name' required ignite-auto-focus)
+ .details-row
+ +lbl('Last name:')
+ .col-xs-5.col-sm-4
+ input#profile-lastname.form-control(ignite-on-enter-focus-move='profile-email' type='text' ng-model='user.lastName' placeholder='Input last name' required)
+ .details-row
+ +lbl('Email:')
+ .col-xs-5.col-sm-4
+ input#profile-email.form-control(ignite-on-enter-focus-move='profile-company' type='email' ng-model='user.email' placeholder='Input email' required)
+ .details-row
+ +lbl('Company:')
+ .col-xs-5.col-sm-4
+ input#profile-company.form-control(ignite-on-enter-focus-move='profile-country' type='text' ng-model='user.company' placeholder='Input company name' required)
+ .details-row
+ +lbl('Country:')
+ .col-xs-5.col-sm-4
+ button#profile-country.select-toggle.form-control(bs-select bs-options='item.name as item.name for item in countries' type='text' ng-model='user.country' placeholder='Choose your country' ng-required='true')
+ .details-row
+ .advanced-options
+ i.fa(
+ ng-click='toggleToken()'
+ ng-class='expandedToken ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
+ a(ng-click='toggleToken()') {{expandedToken ? 'Cancel security token changing...' : 'Show security token...'}}
+ div(ng-if='expandedToken')
+ +lbl('Security token:')
+ label {{user.token || 'No security token. Regenerate please.'}}
+ i.tipLabel.fa.fa-refresh(ng-click='generateToken()' bs-tooltip='' data-title='Generate random security token')
+ i.tipLabel.fa.fa-clipboard(ignite-copy-to-clipboard='{{user.token}}' bs-tooltip='' data-title='Copy security token to clipboard')
+ i.tipLabel.icon-help(ng-if=lines bs-tooltip='' data-title='The security token is used for authorization of web agent')
+ .details-row
+ .advanced-options
+ i.fa(
+ ng-click='togglePassword()'
+ ng-class='expandedPassword ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
+ a(ng-click='togglePassword()') {{expandedPassword ? 'Cancel password changing...' : 'Change password...'}}
+ div(ng-if='expandedPassword')
+ .details-row
+ +lbl('New password:')
+ .col-xs-5.col-sm-4
+ input#profile_password.form-control(ignite-on-enter-focus-move='profile_confirm' type='password' ng-model='user.password' placeholder='New password')
+ .details-row
+ +lbl('Confirm:')
+ .col-xs-5.col-sm-4
+ input#profile_confirm.form-control(type='password' ng-model='user.confirm' ignite-match='user.password' placeholder='Confirm new password')
+ .col-xs-12.col-sm-12.details-row
+ a.btn.btn-primary(ng-disabled='!profileCouldBeSaved()' ng-click='profileCouldBeSaved() && saveUser()' bs-tooltip='' data-title='{{saveBtnTipText()}}' data-placement='bottom' data-trigger='hover') Save
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/signin.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/signin.jade b/modules/web-console/frontend/views/signin.jade
deleted file mode 100644
index a6c64a8..0000000
--- a/modules/web-console/frontend/views/signin.jade
+++ /dev/null
@@ -1,163 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-mixin lblRequired(txt)
- label.col-xs-3.col-md-3.required #{txt}
-
-header#header.header
- table.container
- tr
- td.col-xs-3.col-sm-3.col-md-2
- ignite-header-logo
- td
- ignite-header-title
-
-.container.body-container
- .main-content(ng-controller='auth')
- .row.home
- .signin-greedy
- .col-xs-12.col-md-6
- form(name='form' novalidate)
- .modal-body.row(style='padding: 0 0 10px 0; margin: 0')
- .settings-row(ng-if='action == "signup"')
- h3.login-header Sign Up
- .settings-row(ng-if='action == "signin"')
- h3.login-header Sign In
- .settings-row(ng-if='action == "password/forgot"')
- h3.login-header Forgot password?
- .settings-row
- p.col-xs-12.col-md-11(ng-show='action == "password/forgot"')
- | That's ok! Simply enter your email below and a reset password link will be sent to you via email. You can then follow that link and select a new password.
- .settings-row(ng-show='action == "signin"')
- +lblRequired('Email:')
- .col-xs-9.col-md-8
- input#signin_email.form-control(ignite-on-enter-focus-move='user_password' type='email' ng-model='ui.email' placeholder='Input email' required)
- .settings-row(ng-show='action == "signup"')
- +lblRequired('Email:')
- .col-xs-9.col-md-8
- input#signup_email.form-control(ignite-on-enter-focus-move='user_password' type='email' ng-model='ui.email' placeholder='Input email' required)
- .settings-row(ng-show='action != "password/forgot"')
- +lblRequired('Password:')
- .col-xs-9.col-md-8
- input#user_password.form-control(ignite-on-enter-focus-move='user_confirm' type='password' ng-model='ui.password' placeholder='Password' ng-required='action != "password/forgot"' ignite-on-enter='action == "signin" && form.$valid && auth(action, ui)')
- .settings-row(ng-if='action == "signup"')
- +lblRequired('Confirm:')
- .col-xs-9.col-md-8
- input#user_confirm.form-control(ignite-on-enter-focus-move='first_name' type='password' ng-model='ui_exclude.confirm' ignite-match='ui.password' placeholder='Confirm password' ng-required='action == "signup"')
- .settings-row(ng-show='action == "signup"')
- +lblRequired('First Name:')
- .col-xs-9.col-md-8
- input#first_name.form-control(ignite-on-enter-focus-move='last_name' type='text' ng-model='ui.firstName' placeholder='Input first name' ng-required='action=="signup"')
- .settings-row(ng-show='action == "signup"')
- +lblRequired('Last Name:')
- .col-xs-9.col-md-8
- input#last_name.form-control(ignite-on-enter-focus-move='company' type='text' ng-model='ui.lastName' placeholder='Input last name' ng-required='action=="signup"')
- .settings-row(ng-show='action == "password/forgot"')
- +lblRequired('Email:')
- .col-xs-9.col-md-8
- input#forgot_email.form-control(ignite-on-enter='form.$valid && forgotPassword(ui)' type='email' ng-model='ui.email' placeholder='Input email' required)
- .settings-row(ng-show='action == "signup"')
- +lblRequired('Company:')
- .col-xs-9.col-md-8
- input#company.form-control(ignite-on-enter-focus-move='country' type='text' ng-model='ui.company' placeholder='Input company name' ng-required='action=="signup"')
- .settings-row(ng-show='action == "signup"')
- +lblRequired('Country:')
- .col-xs-9.col-md-8
- button#country.select-toggle.form-control(ignite-on-enter-focus-move='signup' bs-select bs-options='item.name as item.name for item in countries' type='text' ng-model='ui.country' placeholder='Choose your country' ng-required='action=="signup"')
- .settings-row(ignite-terms)
- .col-md-offset-3(ng-if='action == "signup" && terms.termsState')
- label
- input(type='checkbox' ng-model='ui_exclude.agree', ng-required='true')
- | I agree to the #[a(ui-sref='{{::terms.termsState}}' target='_blank') terms and conditions]
- .col-xs-12.col-md-11
- .login-footer(ng-show='action == "signup"')
- a.labelField(ng-click='action = "password/forgot"' ignite-on-click-focus='signin_email') Forgot password?
- a.labelLogin(ng-click='action = "signin"' ignite-on-click-focus='signin_email') Sign In
- button#signup.btn.btn-primary(ng-click='auth(action, ui)' ng-disabled='form.$invalid') Sign Up
- .col-xs-12.col-md-11
- .login-footer(ng-show='action == "password/forgot"')
- a.labelField(ng-click='action = "signin"' ignite-on-click-focus='signin_email') Sign In
- button#forgot.btn.btn-primary(ng-click='forgotPassword(ui)' ng-disabled='form.$invalid') Send it to me
- .col-xs-12.col-md-11
- .login-footer(ng-show='action == "signin"')
- a.labelField(ng-click='action = "password/forgot"' ignite-on-click-focus='signin_email') Forgot password?
- a.labelLogin(ng-click='action = "signup"' ignite-on-click-focus='first_name') Sign Up
- button#login.btn.btn-primary(ng-click='auth(action, ui)' ng-disabled='form.$invalid') Sign In
-
- .col-xs-12.col-md-11.home-panel
- ignite-features
- .col-xs-12.col-md-6
- #carousel.carousel.slide
- // Indicators
- ol.carousel-indicators
- li.active(data-target='#carousel', data-slide-to='0')
- li(data-target='#carousel', data-slide-to='1')
- li(data-target='#carousel', data-slide-to='2')
- li(data-target='#carousel', data-slide-to='3')
- li(data-target='#carousel', data-slide-to='4')
- li(data-target='#carousel', data-slide-to='5')
- li(data-target='#carousel', data-slide-to='6')
- // Wrapper for slides
- .carousel-inner(role='listbox')
- .item.active
- img(src='/images/cluster.png', alt='Clusters screen')
- .carousel-caption
- h3 Clusters screen
- p Configure clusters, link clusters to caches
- .item
- img(src='/images/cache.png', alt='Caches screen')
- .carousel-caption
- h3 Caches screen
- p Configure caches, link domain models to caches, link caches to clusters
- .item
- img(src='/images/domains.png', alt='Domain model screen')
- .carousel-caption
- h3 Domain model screen
- p Manually enter domain model or import from database
- .item
- img(src='/images/summary.png', alt='Summary screen')
- .carousel-caption
- h3 Summary screen
- p Preview XML config, JAVA code,Docker file and download project
- .item
- img(src='/images/query-table.png', alt='Query')
- .carousel-caption
- h3 Query
- p Explain SQL, execute, scan queries
- .item
- img(src='/images/query-metadata.png', alt='Cache metadata')
- .carousel-caption
- h3 Cache metadata
- p View cache type metadata
- .item
- img(src='/images/query-chart.png', alt='Query chart')
- .carousel-caption
- h3 Query chart
- p View data in tabular form and as charts
- // Controls
- a.left.carousel-control(href='#carousel', ng-click='$event.preventDefault()', role='button', data-slide='prev')
- span.fa.fa-chevron-left(aria-hidden='true')
- span.sr-only Previous
- a.right.carousel-control(href='#carousel', ng-click='$event.preventDefault()', role='button', data-slide='next')
- span.fa.fa-chevron-right(aria-hidden='true')
- span.sr-only Next
-
-include includes/footer
-
-script.
- $('.carousel').carousel()
-
-
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/signin.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/signin.tpl.pug b/modules/web-console/frontend/views/signin.tpl.pug
new file mode 100644
index 0000000..a6c64a8
--- /dev/null
+++ b/modules/web-console/frontend/views/signin.tpl.pug
@@ -0,0 +1,163 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+mixin lblRequired(txt)
+ label.col-xs-3.col-md-3.required #{txt}
+
+header#header.header
+ table.container
+ tr
+ td.col-xs-3.col-sm-3.col-md-2
+ ignite-header-logo
+ td
+ ignite-header-title
+
+.container.body-container
+ .main-content(ng-controller='auth')
+ .row.home
+ .signin-greedy
+ .col-xs-12.col-md-6
+ form(name='form' novalidate)
+ .modal-body.row(style='padding: 0 0 10px 0; margin: 0')
+ .settings-row(ng-if='action == "signup"')
+ h3.login-header Sign Up
+ .settings-row(ng-if='action == "signin"')
+ h3.login-header Sign In
+ .settings-row(ng-if='action == "password/forgot"')
+ h3.login-header Forgot password?
+ .settings-row
+ p.col-xs-12.col-md-11(ng-show='action == "password/forgot"')
+ | That's ok! Simply enter your email below and a reset password link will be sent to you via email. You can then follow that link and select a new password.
+ .settings-row(ng-show='action == "signin"')
+ +lblRequired('Email:')
+ .col-xs-9.col-md-8
+ input#signin_email.form-control(ignite-on-enter-focus-move='user_password' type='email' ng-model='ui.email' placeholder='Input email' required)
+ .settings-row(ng-show='action == "signup"')
+ +lblRequired('Email:')
+ .col-xs-9.col-md-8
+ input#signup_email.form-control(ignite-on-enter-focus-move='user_password' type='email' ng-model='ui.email' placeholder='Input email' required)
+ .settings-row(ng-show='action != "password/forgot"')
+ +lblRequired('Password:')
+ .col-xs-9.col-md-8
+ input#user_password.form-control(ignite-on-enter-focus-move='user_confirm' type='password' ng-model='ui.password' placeholder='Password' ng-required='action != "password/forgot"' ignite-on-enter='action == "signin" && form.$valid && auth(action, ui)')
+ .settings-row(ng-if='action == "signup"')
+ +lblRequired('Confirm:')
+ .col-xs-9.col-md-8
+ input#user_confirm.form-control(ignite-on-enter-focus-move='first_name' type='password' ng-model='ui_exclude.confirm' ignite-match='ui.password' placeholder='Confirm password' ng-required='action == "signup"')
+ .settings-row(ng-show='action == "signup"')
+ +lblRequired('First Name:')
+ .col-xs-9.col-md-8
+ input#first_name.form-control(ignite-on-enter-focus-move='last_name' type='text' ng-model='ui.firstName' placeholder='Input first name' ng-required='action=="signup"')
+ .settings-row(ng-show='action == "signup"')
+ +lblRequired('Last Name:')
+ .col-xs-9.col-md-8
+ input#last_name.form-control(ignite-on-enter-focus-move='company' type='text' ng-model='ui.lastName' placeholder='Input last name' ng-required='action=="signup"')
+ .settings-row(ng-show='action == "password/forgot"')
+ +lblRequired('Email:')
+ .col-xs-9.col-md-8
+ input#forgot_email.form-control(ignite-on-enter='form.$valid && forgotPassword(ui)' type='email' ng-model='ui.email' placeholder='Input email' required)
+ .settings-row(ng-show='action == "signup"')
+ +lblRequired('Company:')
+ .col-xs-9.col-md-8
+ input#company.form-control(ignite-on-enter-focus-move='country' type='text' ng-model='ui.company' placeholder='Input company name' ng-required='action=="signup"')
+ .settings-row(ng-show='action == "signup"')
+ +lblRequired('Country:')
+ .col-xs-9.col-md-8
+ button#country.select-toggle.form-control(ignite-on-enter-focus-move='signup' bs-select bs-options='item.name as item.name for item in countries' type='text' ng-model='ui.country' placeholder='Choose your country' ng-required='action=="signup"')
+ .settings-row(ignite-terms)
+ .col-md-offset-3(ng-if='action == "signup" && terms.termsState')
+ label
+ input(type='checkbox' ng-model='ui_exclude.agree', ng-required='true')
+ | I agree to the #[a(ui-sref='{{::terms.termsState}}' target='_blank') terms and conditions]
+ .col-xs-12.col-md-11
+ .login-footer(ng-show='action == "signup"')
+ a.labelField(ng-click='action = "password/forgot"' ignite-on-click-focus='signin_email') Forgot password?
+ a.labelLogin(ng-click='action = "signin"' ignite-on-click-focus='signin_email') Sign In
+ button#signup.btn.btn-primary(ng-click='auth(action, ui)' ng-disabled='form.$invalid') Sign Up
+ .col-xs-12.col-md-11
+ .login-footer(ng-show='action == "password/forgot"')
+ a.labelField(ng-click='action = "signin"' ignite-on-click-focus='signin_email') Sign In
+ button#forgot.btn.btn-primary(ng-click='forgotPassword(ui)' ng-disabled='form.$invalid') Send it to me
+ .col-xs-12.col-md-11
+ .login-footer(ng-show='action == "signin"')
+ a.labelField(ng-click='action = "password/forgot"' ignite-on-click-focus='signin_email') Forgot password?
+ a.labelLogin(ng-click='action = "signup"' ignite-on-click-focus='first_name') Sign Up
+ button#login.btn.btn-primary(ng-click='auth(action, ui)' ng-disabled='form.$invalid') Sign In
+
+ .col-xs-12.col-md-11.home-panel
+ ignite-features
+ .col-xs-12.col-md-6
+ #carousel.carousel.slide
+ // Indicators
+ ol.carousel-indicators
+ li.active(data-target='#carousel', data-slide-to='0')
+ li(data-target='#carousel', data-slide-to='1')
+ li(data-target='#carousel', data-slide-to='2')
+ li(data-target='#carousel', data-slide-to='3')
+ li(data-target='#carousel', data-slide-to='4')
+ li(data-target='#carousel', data-slide-to='5')
+ li(data-target='#carousel', data-slide-to='6')
+ // Wrapper for slides
+ .carousel-inner(role='listbox')
+ .item.active
+ img(src='/images/cluster.png', alt='Clusters screen')
+ .carousel-caption
+ h3 Clusters screen
+ p Configure clusters, link clusters to caches
+ .item
+ img(src='/images/cache.png', alt='Caches screen')
+ .carousel-caption
+ h3 Caches screen
+ p Configure caches, link domain models to caches, link caches to clusters
+ .item
+ img(src='/images/domains.png', alt='Domain model screen')
+ .carousel-caption
+ h3 Domain model screen
+ p Manually enter domain model or import from database
+ .item
+ img(src='/images/summary.png', alt='Summary screen')
+ .carousel-caption
+ h3 Summary screen
+ p Preview XML config, JAVA code,Docker file and download project
+ .item
+ img(src='/images/query-table.png', alt='Query')
+ .carousel-caption
+ h3 Query
+ p Explain SQL, execute, scan queries
+ .item
+ img(src='/images/query-metadata.png', alt='Cache metadata')
+ .carousel-caption
+ h3 Cache metadata
+ p View cache type metadata
+ .item
+ img(src='/images/query-chart.png', alt='Query chart')
+ .carousel-caption
+ h3 Query chart
+ p View data in tabular form and as charts
+ // Controls
+ a.left.carousel-control(href='#carousel', ng-click='$event.preventDefault()', role='button', data-slide='prev')
+ span.fa.fa-chevron-left(aria-hidden='true')
+ span.sr-only Previous
+ a.right.carousel-control(href='#carousel', ng-click='$event.preventDefault()', role='button', data-slide='next')
+ span.fa.fa-chevron-right(aria-hidden='true')
+ span.sr-only Next
+
+include includes/footer
+
+script.
+ $('.carousel').carousel()
+
+
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/cache-metadata.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/cache-metadata.jade b/modules/web-console/frontend/views/sql/cache-metadata.jade
deleted file mode 100644
index 385960a..0000000
--- a/modules/web-console/frontend/views/sql/cache-metadata.jade
+++ /dev/null
@@ -1,40 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-.popover.cache-metadata(tabindex='-1' ignite-loading='loadingCacheMetadata' ignite-loading-text='Loading metadata...' ng-init='importMetadata()')
- h3.popover-title
- label.labelField Metadata for caches:
- button.close(id='cache-metadata-close' ng-click='$hide()') ×
- .input-tip
- input.form-control(type='text' ng-model='metaFilter' placeholder='Filter metadata...')
- .popover-content(ng-if='metadata && metadata.length > 0')
- treecontrol.tree-classic(tree-model='metadata' options='metaOptions' filter-expression='metaFilter')
- span(ng-switch='node.type')
- span(ng-switch-when='type' ng-dblclick='dblclickMetadata(paragraph, node)')
- i.fa.fa-table
- label.clickable(ng-bind='node.displayName')
- span(ng-switch-when='plain')
- label {{node.name}}
- span(ng-switch-when='field' ng-dblclick='dblclickMetadata(paragraph, node)')
- i.fa(ng-class='node.system ? "fa-file-text-o" : "fa-file-o"')
- label.clickable {{node.name}} [{{node.clazz}}]
- label(ng-switch-when='indexes') {{node.name}}
- label(ng-switch-when='index') {{node.name}}
- span(ng-switch-when='index-field' ng-dblclick='dblclickMetadata(paragraph, node)')
- i.fa(ng-class='node.order ? "fa-sort-amount-desc" : "fa-sort-amount-asc"')
- label.clickable {{node.name}}
- .popover-content(ng-if='!metadata || metadata.length == 0')
- label.content-empty No types found
- h3.popover-footer Double click to paste into editor
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/cache-metadata.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/cache-metadata.tpl.pug b/modules/web-console/frontend/views/sql/cache-metadata.tpl.pug
new file mode 100644
index 0000000..385960a
--- /dev/null
+++ b/modules/web-console/frontend/views/sql/cache-metadata.tpl.pug
@@ -0,0 +1,40 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+.popover.cache-metadata(tabindex='-1' ignite-loading='loadingCacheMetadata' ignite-loading-text='Loading metadata...' ng-init='importMetadata()')
+ h3.popover-title
+ label.labelField Metadata for caches:
+ button.close(id='cache-metadata-close' ng-click='$hide()') ×
+ .input-tip
+ input.form-control(type='text' ng-model='metaFilter' placeholder='Filter metadata...')
+ .popover-content(ng-if='metadata && metadata.length > 0')
+ treecontrol.tree-classic(tree-model='metadata' options='metaOptions' filter-expression='metaFilter')
+ span(ng-switch='node.type')
+ span(ng-switch-when='type' ng-dblclick='dblclickMetadata(paragraph, node)')
+ i.fa.fa-table
+ label.clickable(ng-bind='node.displayName')
+ span(ng-switch-when='plain')
+ label {{node.name}}
+ span(ng-switch-when='field' ng-dblclick='dblclickMetadata(paragraph, node)')
+ i.fa(ng-class='node.system ? "fa-file-text-o" : "fa-file-o"')
+ label.clickable {{node.name}} [{{node.clazz}}]
+ label(ng-switch-when='indexes') {{node.name}}
+ label(ng-switch-when='index') {{node.name}}
+ span(ng-switch-when='index-field' ng-dblclick='dblclickMetadata(paragraph, node)')
+ i.fa(ng-class='node.order ? "fa-sort-amount-desc" : "fa-sort-amount-asc"')
+ label.clickable {{node.name}}
+ .popover-content(ng-if='!metadata || metadata.length == 0')
+ label.content-empty No types found
+ h3.popover-footer Double click to paste into editor
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/chart-settings.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/chart-settings.jade b/modules/web-console/frontend/views/sql/chart-settings.jade
deleted file mode 100644
index 5a1ceed..0000000
--- a/modules/web-console/frontend/views/sql/chart-settings.jade
+++ /dev/null
@@ -1,40 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-.popover.settings(tabindex='-1' style='width: 300px')
- .arrow
- h3.popover-title(style='color: black') Chart settings
- button.close(id='chart-settings-close' ng-click='$hide()') ×
- .popover-content
- form.form-horizontal.chart-settings(name='chartSettingsForm' novalidate)
- .form-group.chart-settings
- -var btnClass = 'col.value < 0 ? "btn-success" : "btn-default"'
-
- label All columns (drag columns to axis)
- ul.chart-settings-columns-list(dnd-list='paragraph.chartColumns' dnd-allowed-types='[]')
- li(ng-repeat='col in paragraph.chartColumns track by $index')
- .btn.btn-default.btn-chart-column-movable(ng-class=btnClass dnd-draggable='col' dnd-effect-allowed='copy') {{col.label}}
- label X axis (accept only one column)
- ul.chart-settings-columns-list(dnd-list='paragraph.chartKeyCols' dnd-drop='chartAcceptKeyColumn(paragraph, item)')
- li(ng-repeat='col in paragraph.chartKeyCols track by $index')
- .btn.btn-default.btn-chart-column(ng-class=btnClass) {{col.label}}
- i.fa.fa-close(ng-click='chartRemoveKeyColumn(paragraph, $index)')
- label Y axis (accept only numeric columns)
- ul.chart-settings-columns-list(dnd-list='paragraph.chartValCols' dnd-drop='chartAcceptValColumn(paragraph, item)')
- li(ng-repeat='col in paragraph.chartValCols track by $index')
- .btn.btn-default.btn-chart-column(ng-style='chartColor($index)') {{col.label}}
- button.btn-chart-column-agg-fx.select-toggle(ng-change='applyChartSettings(paragraph)' ng-show='paragraphTimeSpanVisible(paragraph)' ng-style='chartColor($index)' ng-model='col.aggFx' placeholder='...' bs-select bs-options='item for item in aggregateFxs' data-container='false' tabindex='-1')
- i.fa.fa-close(ng-click='chartRemoveValColumn(paragraph, $index)')
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/chart-settings.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/chart-settings.tpl.pug b/modules/web-console/frontend/views/sql/chart-settings.tpl.pug
new file mode 100644
index 0000000..5a1ceed
--- /dev/null
+++ b/modules/web-console/frontend/views/sql/chart-settings.tpl.pug
@@ -0,0 +1,40 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+.popover.settings(tabindex='-1' style='width: 300px')
+ .arrow
+ h3.popover-title(style='color: black') Chart settings
+ button.close(id='chart-settings-close' ng-click='$hide()') ×
+ .popover-content
+ form.form-horizontal.chart-settings(name='chartSettingsForm' novalidate)
+ .form-group.chart-settings
+ -var btnClass = 'col.value < 0 ? "btn-success" : "btn-default"'
+
+ label All columns (drag columns to axis)
+ ul.chart-settings-columns-list(dnd-list='paragraph.chartColumns' dnd-allowed-types='[]')
+ li(ng-repeat='col in paragraph.chartColumns track by $index')
+ .btn.btn-default.btn-chart-column-movable(ng-class=btnClass dnd-draggable='col' dnd-effect-allowed='copy') {{col.label}}
+ label X axis (accept only one column)
+ ul.chart-settings-columns-list(dnd-list='paragraph.chartKeyCols' dnd-drop='chartAcceptKeyColumn(paragraph, item)')
+ li(ng-repeat='col in paragraph.chartKeyCols track by $index')
+ .btn.btn-default.btn-chart-column(ng-class=btnClass) {{col.label}}
+ i.fa.fa-close(ng-click='chartRemoveKeyColumn(paragraph, $index)')
+ label Y axis (accept only numeric columns)
+ ul.chart-settings-columns-list(dnd-list='paragraph.chartValCols' dnd-drop='chartAcceptValColumn(paragraph, item)')
+ li(ng-repeat='col in paragraph.chartValCols track by $index')
+ .btn.btn-default.btn-chart-column(ng-style='chartColor($index)') {{col.label}}
+ button.btn-chart-column-agg-fx.select-toggle(ng-change='applyChartSettings(paragraph)' ng-show='paragraphTimeSpanVisible(paragraph)' ng-style='chartColor($index)' ng-model='col.aggFx' placeholder='...' bs-select bs-options='item for item in aggregateFxs' data-container='false' tabindex='-1')
+ i.fa.fa-close(ng-click='chartRemoveValColumn(paragraph, $index)')
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/notebook-new.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/notebook-new.jade b/modules/web-console/frontend/views/sql/notebook-new.jade
deleted file mode 100644
index 9585e92..0000000
--- a/modules/web-console/frontend/views/sql/notebook-new.jade
+++ /dev/null
@@ -1,33 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-.modal(tabindex='-1' role='dialog')
- .modal-dialog
- .modal-content
- .modal-header
- button.close(ng-click='$hide()') ×
- h4.modal-title
- i.fa.fa-file-o
- | New query notebook
- form.form-horizontal.modal-body.row(name='ui.inputForm' novalidate)
- div
- .col-sm-2
- label.required.labelFormField Name:
- .col-sm-10
- input.form-control(id='create-notebook' type='text' ng-model='name' required ignite-on-enter='ui.inputForm.$valid && create(name)' ignite-auto-focus)
- .modal-footer
- button.btn.btn-default(id='copy-btn-cancel' ng-click='$hide()') Cancel
- button.btn.btn-primary(id='copy-btn-confirm' ng-disabled='ui.inputForm.$invalid' ng-click='create(name)') Create
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/notebook-new.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/notebook-new.tpl.pug b/modules/web-console/frontend/views/sql/notebook-new.tpl.pug
new file mode 100644
index 0000000..9585e92
--- /dev/null
+++ b/modules/web-console/frontend/views/sql/notebook-new.tpl.pug
@@ -0,0 +1,33 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+.modal(tabindex='-1' role='dialog')
+ .modal-dialog
+ .modal-content
+ .modal-header
+ button.close(ng-click='$hide()') ×
+ h4.modal-title
+ i.fa.fa-file-o
+ | New query notebook
+ form.form-horizontal.modal-body.row(name='ui.inputForm' novalidate)
+ div
+ .col-sm-2
+ label.required.labelFormField Name:
+ .col-sm-10
+ input.form-control(id='create-notebook' type='text' ng-model='name' required ignite-on-enter='ui.inputForm.$valid && create(name)' ignite-auto-focus)
+ .modal-footer
+ button.btn.btn-default(id='copy-btn-cancel' ng-click='$hide()') Cancel
+ button.btn.btn-primary(id='copy-btn-confirm' ng-disabled='ui.inputForm.$invalid' ng-click='create(name)') Create
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/paragraph-rate.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/paragraph-rate.jade b/modules/web-console/frontend/views/sql/paragraph-rate.jade
deleted file mode 100644
index 03c6497..0000000
--- a/modules/web-console/frontend/views/sql/paragraph-rate.jade
+++ /dev/null
@@ -1,31 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-.popover.settings(tabindex='-1' style='width: 200px')
- .arrow
- h3.popover-title(style='color: black') Refresh rate
- button.close(id='paragraph-rate-close' ng-click='$hide()') ×
- .popover-content
- form(name='popoverForm' novalidate)
- .form-group(style='padding: 5px')
- .col-sm-4
- input.form-control(id='paragraph-rate' ng-init='value = paragraph.rate.value' ng-model='value' type='number' min='1' required ignite-auto-focus)
- .col-sm-8(style='padding-left: 5px')
- button.form-control.select-toggle(id='paragraph-unit' ng-init='unit = paragraph.rate.unit' ng-model='unit' required placeholder='Time unit' bs-select bs-options='item.value as item.label for item in timeUnit' data-container='false' tabindex='0')
- .form-actions(style='margin-top: 30px; padding: 5px')
- button.btn.btn-primary(id='paragraph-rate-start' ng-disabled='popoverForm.$invalid' ng-click='startRefresh(paragraph, value, unit); $hide()') Start
- button.btn.btn-primary.btn-default(id='paragraph-rate-stop' ng-click='stopRefresh(paragraph); $hide()' ng-disabled='!paragraph.rate.installed') Stop
-
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/paragraph-rate.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/paragraph-rate.tpl.pug b/modules/web-console/frontend/views/sql/paragraph-rate.tpl.pug
new file mode 100644
index 0000000..03c6497
--- /dev/null
+++ b/modules/web-console/frontend/views/sql/paragraph-rate.tpl.pug
@@ -0,0 +1,31 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+.popover.settings(tabindex='-1' style='width: 200px')
+ .arrow
+ h3.popover-title(style='color: black') Refresh rate
+ button.close(id='paragraph-rate-close' ng-click='$hide()') ×
+ .popover-content
+ form(name='popoverForm' novalidate)
+ .form-group(style='padding: 5px')
+ .col-sm-4
+ input.form-control(id='paragraph-rate' ng-init='value = paragraph.rate.value' ng-model='value' type='number' min='1' required ignite-auto-focus)
+ .col-sm-8(style='padding-left: 5px')
+ button.form-control.select-toggle(id='paragraph-unit' ng-init='unit = paragraph.rate.unit' ng-model='unit' required placeholder='Time unit' bs-select bs-options='item.value as item.label for item in timeUnit' data-container='false' tabindex='0')
+ .form-actions(style='margin-top: 30px; padding: 5px')
+ button.btn.btn-primary(id='paragraph-rate-start' ng-disabled='popoverForm.$invalid' ng-click='startRefresh(paragraph, value, unit); $hide()') Start
+ button.btn.btn-primary.btn-default(id='paragraph-rate-stop' ng-click='stopRefresh(paragraph); $hide()' ng-disabled='!paragraph.rate.installed') Stop
+
http://git-wip-us.apache.org/repos/asf/ignite/blob/cad46799/modules/web-console/frontend/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/sql.jade b/modules/web-console/frontend/views/sql/sql.jade
deleted file mode 100644
index 61d5b30..0000000
--- a/modules/web-console/frontend/views/sql/sql.jade
+++ /dev/null
@@ -1,278 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-include /app/helpers/jade/mixins.jade
-include /app/components/ui-grid-settings/ui-grid-settings.jade
-
-mixin btn-toolbar(btn, click, tip, focusId)
- i.btn.btn-default.fa(class=btn ng-click=click bs-tooltip='' data-title=tip ignite-on-click-focus=focusId data-trigger='hover' data-placement='bottom')
-
-mixin btn-toolbar-data(btn, kind, tip)
- i.btn.btn-default.fa(class=btn ng-click='setResult(paragraph, "#{kind}")' ng-class='{active: resultEq(paragraph, "#{kind}")}' bs-tooltip='' data-title=tip data-trigger='hover' data-placement='bottom')
-
-mixin result-toolbar
- .btn-group(ng-model='paragraph.result' ng-click='$event.stopPropagation()' style='left: 50%; margin: 0 0 0 -70px;display: block;')
- +btn-toolbar-data('fa-table', 'table', 'Show data in tabular form')
- +btn-toolbar-data('fa-bar-chart', 'bar', 'Show bar chart<br/>By default first column - X values, second column - Y values<br/>In case of one column it will be treated as Y values')
- +btn-toolbar-data('fa-pie-chart', 'pie', 'Show pie chart<br/>By default first column - pie labels, second column - pie values<br/>In case of one column it will be treated as pie values')
- +btn-toolbar-data('fa-line-chart', 'line', 'Show line chart<br/>By default first column - X values, second column - Y values<br/>In case of one column it will be treated as Y values')
- +btn-toolbar-data('fa-area-chart', 'area', 'Show area chart<br/>By default first column - X values, second column - Y values<br/>In case of one column it will be treated as Y values')
-
-mixin chart-settings
- .total.row
- .col-xs-4
- .chart-settings-link(ng-show='paragraph.chart && paragraph.chartColumns.length > 0')
- a(title='Click to show chart settings dialog' ng-click='$event.stopPropagation()' bs-popover data-template-url='/sql/chart-settings.html' data-placement='bottom' data-auto-close='1' data-trigger='click')
- i.fa.fa-bars
- | Chart settings
- div(ng-show='paragraphTimeSpanVisible(paragraph)')
- label Show
- button.select-manual-caret.btn.btn-default(ng-model='paragraph.timeLineSpan' ng-change='applyChartSettings(paragraph)' bs-options='item for item in timeLineSpans' bs-select data-caret-html='<span class="caret"></span>')
- label min
- .col-xs-4
- +result-toolbar
-
-mixin notebook-rename
- .docs-header.notebook-header
- h1.col-sm-6(ng-hide='notebook.edit')
- label(style='max-width: calc(100% - 60px)') {{notebook.name}}
- .btn-group(ng-if='!demo')
- +btn-toolbar('fa-pencil', 'notebook.edit = true;notebook.editName = notebook.name', 'Rename notebook')
- +btn-toolbar('fa-trash', 'removeNotebook(notebook)', 'Remove notebook')
- h1.col-sm-6(ng-show='notebook.edit')
- i.btn.fa.fa-floppy-o(ng-show='notebook.editName' ng-click='renameNotebook(notebook.editName)' bs-tooltip data-title='Save notebook name' data-trigger='hover')
- .input-tip
- input.form-control(ng-model='notebook.editName' required ignite-on-enter='renameNotebook(notebook.editName)' ignite-on-escape='notebook.edit = false;')
- h1.pull-right
- a.dropdown-toggle(style='margin-right: 20px' data-toggle='dropdown' bs-dropdown='scrollParagraphs' data-placement='bottom-right') Scroll to query
- span.caret
- button.btn.btn-default(style='margin-top: 2px' ng-click='addQuery()' ignite-on-click-focus=focusId)
- i.fa.fa-fw.fa-plus
- | Add query
-
- button.btn.btn-default(style='margin-top: 2px' ng-click='addScan()' ignite-on-click-focus=focusId)
- i.fa.fa-fw.fa-plus
- | Add scan
-
-mixin notebook-error
- h2 Failed to load notebook
- label.col-sm-12 Notebook not accessible any more. Go back to configuration or open to another notebook.
- button.h3.btn.btn-primary(ui-sref='base.configuration.clusters') Back to configuration
-
-mixin paragraph-rename
- .col-sm-6(ng-hide='paragraph.edit')
- i.fa(ng-class='paragraphExpanded(paragraph) ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
- label {{paragraph.name}}
-
- .btn-group(ng-hide='notebook.paragraphs.length > 1')
- +btn-toolbar('fa-pencil', 'paragraph.edit = true; paragraph.editName = paragraph.name; $event.stopPropagation();', 'Rename query', 'paragraph-name-{{paragraph.id}}')
-
- .btn-group(ng-show='notebook.paragraphs.length > 1' ng-click='$event.stopPropagation();')
- +btn-toolbar('fa-pencil', 'paragraph.edit = true; paragraph.editName = paragraph.name;', 'Rename query', 'paragraph-name-{{paragraph.id}}')
- +btn-toolbar('fa-remove', 'removeParagraph(paragraph)', 'Remove query')
-
- .col-sm-6(ng-show='paragraph.edit')
- i.tipLabel.fa(style='float: left;' ng-class='paragraphExpanded(paragraph) ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
- i.tipLabel.fa.fa-floppy-o(style='float: right;' ng-show='paragraph.editName' ng-click='renameParagraph(paragraph, paragraph.editName); $event.stopPropagation();' bs-tooltip data-title='Save query name' data-trigger='hover')
- .input-tip
- input.form-control(id='paragraph-name-{{paragraph.id}}' ng-model='paragraph.editName' required ng-click='$event.stopPropagation();' ignite-on-enter='renameParagraph(paragraph, paragraph.editName)' ignite-on-escape='paragraph.edit = false')
-
-mixin query-settings
- label.tipLabel(bs-tooltip data-placement='bottom' data-title='Configure periodical execution of last successfully executed query') Refresh rate:
- button.btn.btn-default.fa.fa-clock-o.tipLabel(ng-class='{"btn-info": paragraph.rate && paragraph.rate.installed}' bs-popover data-template-url='/sql/paragraph-rate.html' data-placement='left' data-auto-close='1' data-trigger='click') {{rateAsString(paragraph)}}
-
- label.tipLabel(bs-tooltip data-placement='bottom' data-title='Max number of rows to show in query result as one page') Page size:
- button.btn.btn-default.select-toggle.tipLabel(ng-model='paragraph.pageSize' bs-select bs-options='item for item in pageSizes')
-
- label.tipLabel(bs-tooltip data-placement='bottom' data-title='Limit query max results to specified number of pages') Max pages:
- button.btn.btn-default.select-toggle.tipLabel(ng-model='paragraph.maxPages' bs-select bs-options='item.value as item.label for item in maxPages')
-
- label.tipLabel(ng-if='nonCollocatedJoinsAvailable(paragraph)' bs-tooltip data-placement='bottom' data-title='Non-collocated joins is a special mode that allow to join data across cluster without collocation.<br/>\
- Nested joins are not supported for now.<br/>\
- <b>NOTE</b>: In some cases it may consume more heap memory or may take a long time than collocated joins.' data-trigger='hover')
- input(type='checkbox' ng-model='paragraph.nonCollocatedJoins')
- span Allow non-collocated joins
-
-mixin query-actions
- button.btn.btn-primary(ng-disabled='!actionAvailable(paragraph, true)' ng-click='execute(paragraph)') Execute
- button.btn.btn-primary(ng-disabled='!actionAvailable(paragraph, true)' ng-click='execute(paragraph, true)') Execute on selected node
-
- a.btn.btn-default(ng-disabled='!actionAvailable(paragraph, true)' ng-click='explain(paragraph)' data-placement='bottom' bs-tooltip='' data-title='{{actionTooltip(paragraph, "explain", true)}}') Explain
-
-mixin table-result-heading-query
- .total.row
- .col-xs-4
- +ui-grid-settings
- label Page: #[b {{paragraph.page}}]
- label.margin-left-dflt Results so far: #[b {{paragraph.rows.length + paragraph.total}}]
- label.margin-left-dflt Duration: #[b {{paragraph.duration | duration}}]
- .col-xs-4
- div(ng-if='paragraph.qryType === "query"')
- +result-toolbar
- .col-xs-4
- .pull-right
- .btn-group(ng-disabled='paragraph.loading')
- button.btn.btn-primary(ng-click='exportCsv(paragraph)' bs-tooltip data-title='{{actionTooltip(paragraph, "export", false)}}') Export
- button.btn.btn-primary.dropdown-toggle(id='export-item-dropdown' data-toggle='dropdown' data-container='body' bs-dropdown='exportDropdown' data-placement='bottom-right')
- span.caret
-
-mixin table-result-heading-scan
- .total.row
- .col-xs-4
- +ui-grid-settings
- label Page: #[b {{paragraph.page}}]
- label.margin-left-dflt Results so far: #[b {{paragraph.rows.length + paragraph.total}}]
- label.margin-left-dflt Duration: #[b {{paragraph.duration | duration}}]
- .col-xs-4
- div(ng-if='paragraph.qryType === "query"')
- +result-toolbar
- .col-xs-4
- .pull-right
- .btn-group(ng-disabled='paragraph.loading')
- button.btn.btn-primary(ng-click='exportCsv(paragraph)' bs-tooltip data-title='{{actionTooltip(paragraph, "export", false)}}') Export
- button.btn.btn-primary.dropdown-toggle(id='export-item-dropdown' data-toggle='dropdown' data-container='body' bs-dropdown='exportDropdown' data-placement='bottom-right')
- span.caret
-
-mixin table-result-body
- .grid(ui-grid='paragraph.gridOptions' ui-grid-resize-columns ui-grid-exporter)
-
-mixin chart-result
- div(ng-hide='paragraph.scanExplain()')
- +chart-settings
- .empty(ng-show='paragraph.chartColumns.length > 0 && !paragraph.chartColumnsConfigured()') Cannot display chart. Please configure axis using #[b Chart settings]
- .empty(ng-show='paragraph.chartColumns.length == 0') Cannot display chart. Result set must contain Java build-in type columns. Please change query and execute it again.
- div(ng-show='paragraph.chartColumnsConfigured()')
- div(ng-show='paragraph.timeLineSupported() || !paragraph.chartTimeLineEnabled()')
- div(ng-repeat='chart in paragraph.charts')
- nvd3(options='chart.options' data='chart.data' api='chart.api')
- .empty(ng-show='!paragraph.timeLineSupported() && paragraph.chartTimeLineEnabled()') Pie chart does not support 'TIME_LINE' column for X-axis. Please use another column for X-axis or switch to another chart.
- .empty(ng-show='paragraph.scanExplain()')
- .row
- .col-xs-4.col-xs-offset-4
- +result-toolbar
- label.margin-top-dflt Charts do not support #[b Explain] and #[b Scan] query
-
-mixin paragraph-scan
- .panel-heading(bs-collapse-toggle)
- .row
- +paragraph-rename
- .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')
- .col-sm-3
- +text-enabled('Filter:', 'paragraph.filter', '"filter"', true, false, 'Enter filter')
- label.btn.btn-default.ignite-form-field__btn(ng-click='paragraph.caseSensitive = !paragraph.caseSensitive')
- input(type='checkbox' ng-model='paragraph.caseSensitive')
- span(bs-tooltip data-title='Select this checkbox for case sensitive search') Cs
- label.tipLabel(bs-tooltip data-placement='bottom' data-title='Max number of rows to show in query result as one page') Page size:
- button.btn.btn-default.select-toggle.tipLabel(ng-model='paragraph.pageSize' bs-select bs-options='item for item in pageSizes')
-
- .col-sm-12.sql-controls
- button.btn.btn-primary(ng-disabled='!actionAvailable(paragraph, false)' ng-click='scan(paragraph)')
- | Scan
- button.btn.btn-primary(ng-disabled='!actionAvailable(paragraph, false)' ng-click='scan(paragraph, true)')
- | Scan on selected node
-
- .col-sm-12.sql-result(ng-if='paragraph.queryExecuted()' ng-switch='paragraph.resultType()')
- .error(ng-switch-when='error') Error: {{paragraph.errMsg}}
- .empty(ng-switch-when='empty') Result set is empty
- .table(ng-switch-when='table')
- +table-result-heading-scan
- +table-result-body
- .footer.clearfix()
- .pull-left
- | Showing results for scan of #[b {{ paragraph.queryArgs.cacheName | defaultName }}]
- span(ng-if='paragraph.queryArgs.filter') with filter: #[b {{ paragraph.queryArgs.filter }}]
- span(ng-if='paragraph.queryArgs.localNid') on node: #[b {{ paragraph.queryArgs.localNid | limitTo:8 }}]
-
- -var nextVisibleCondition = 'paragraph.resultType() != "error" && paragraph.queryId && paragraph.nonRefresh() && (paragraph.table() || paragraph.chart() && !paragraph.scanExplain())'
-
- .pull-right(ng-show='#{nextVisibleCondition}' ng-class='{disabled: paragraph.loading}' ng-click='!paragraph.loading && nextPage(paragraph)')
- i.fa.fa-chevron-circle-right
- a Next
-
-mixin paragraph-query
- .row.panel-heading(bs-collapse-toggle)
- +paragraph-rename
- .panel-collapse(role='tabpanel' bs-collapse-target)
- .col-sm-12
- .col-xs-8.col-sm-9(style='border-right: 1px solid #eee')
- .sql-editor(ignite-ace='{onLoad: aceInit(paragraph), theme: "chrome", mode: "sql", require: ["ace/ext/language_tools"],' +
- 'advanced: {enableSnippets: false, enableBasicAutocompletion: true, enableLiveAutocompletion: true}}'
- ng-model='paragraph.query')
- .col-xs-4.col-sm-3
- div(ng-show='caches.length > 0' style='padding: 5px 10px' st-table='displayedCaches' st-safe-src='caches')
- lable.labelField.labelFormField Caches:
- i.fa.fa-database.tipField(title='Click to show cache types metadata dialog' bs-popover data-template-url='/sql/cache-metadata.html' data-placement='bottom' data-trigger='click' data-container='#{{ paragraph.id }}')
- .input-tip
- input.form-control(type='text' st-search='label' placeholder='Filter caches...')
- table.links
- tbody.scrollable-y(style='max-height: 15em; display: block;')
- tr(ng-repeat='cache in displayedCaches track by cache.name')
- td(style='width: 100%')
- input.labelField(id='cache_{{ [paragraph.id, $index].join("_") }}' type='radio' value='{{cache.name}}' ng-model='paragraph.cacheName')
- label(for='cache_{{ [paragraph.id, $index].join("_") }} ' ng-bind-html='cache.label')
- .empty-caches(ng-show='displayedCaches.length == 0 && caches.length != 0')
- label Wrong caches filter
- .empty-caches(ng-show='caches.length == 0')
- label No caches
- .col-sm-12.sql-controls
- +query-actions
-
- .pull-right
- +query-settings
- .col-sm-12.sql-result(ng-if='paragraph.queryExecuted()' ng-switch='paragraph.resultType()')
- .error(ng-switch-when='error') Error: {{paragraph.errMsg}}
- .empty(ng-switch-when='empty') Result set is empty
- .table(ng-switch-when='table')
- +table-result-heading-query
- +table-result-body
- .chart(ng-switch-when='chart')
- +chart-result
- .footer.clearfix
- a.pull-left(ng-click='showResultQuery(paragraph)') Show query
-
- -var nextVisibleCondition = 'paragraph.resultType() != "error" && paragraph.queryId && paragraph.nonRefresh() && (paragraph.table() || paragraph.chart() && !paragraph.scanExplain())'
-
- .pull-right(ng-show='#{nextVisibleCondition}' ng-class='{disabled: paragraph.loading}' ng-click='!paragraph.loading && nextPage(paragraph)')
- i.fa.fa-chevron-circle-right
- a Next
-
-.row(ng-controller='sqlController')
- .docs-content
- .row(ng-if='notebook' bs-affix style='margin-bottom: 20px;')
- +notebook-rename
-
- ignite-information(data-title='With query notebook you can' style='margin-top: 0; margin-bottom: 30px')
- ul
- li Create any number of queries
- li Execute and explain SQL queries
- li Execute scan queries
- li View data in tabular form and as charts
-
- div(ng-if='notebookLoadFailed' style='text-align: center')
- +notebook-error
-
- div(ng-if='notebook' ignite-loading='sqlLoading' ignite-loading-text='{{ loadingText }}' ignite-loading-position='top')
- .docs-body.paragraphs
- .panel-group(bs-collapse ng-model='notebook.expandedParagraphs' data-allow-multiple='true' data-start-collapsed='false')
-
- .panel-paragraph(ng-repeat='paragraph in notebook.paragraphs' id='{{paragraph.id}}' ng-form='form_{{paragraph.id}}')
- .panel.panel-default(ng-if='paragraph.qryType === "scan"')
- +paragraph-scan
- .panel.panel-default(ng-if='paragraph.qryType === "query"')
- +paragraph-query