integral 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -30
- data/Rakefile +1 -1
- data/app/assets/images/integral/defaults/no_image_available.jpg +0 -0
- data/app/assets/javascripts/integral/backend.js +102 -11
- data/app/assets/javascripts/integral/frontend.js +37 -0
- data/app/assets/javascripts/integral/support/confirm_modal.coffee +2 -2
- data/app/assets/javascripts/integral/support/gallery.coffee +71 -54
- data/app/assets/javascripts/integral/support/lib/lazysizes.js +755 -0
- data/app/assets/javascripts/integral/support/lib/materialize-tags.js +49 -44
- data/app/assets/javascripts/integral/support/ls.instagram.js +57 -0
- data/app/assets/javascripts/integral/support/ls.twitter.js +66 -0
- data/app/assets/javascripts/integral/support/record_selector.coffee +1 -1
- data/app/assets/javascripts/integral/support/remote_form.coffee +5 -2
- data/app/assets/stylesheets/integral/backend.sass +2 -1
- data/app/assets/stylesheets/integral/backend/_foundation_settings.scss +3 -4
- data/app/assets/stylesheets/integral/backend/dashboard-layout.scss +4 -1
- data/app/assets/stylesheets/integral/backend/materialize-tags.sass +1 -1
- data/app/assets/stylesheets/integral/backend/modules/timeline.scss +214 -0
- data/app/assets/stylesheets/integral/backend/shared.sass +80 -11
- data/app/assets/stylesheets/integral/frontend.scss +45 -0
- data/app/assets/stylesheets/integral/frontend/_foundation_settings.scss +2 -2
- data/app/assets/stylesheets/integral/frontend/blog.sass +155 -142
- data/app/assets/stylesheets/integral/frontend/layout.sass +3 -3
- data/app/assets/stylesheets/integral/frontend/modules/article-footer.scss +55 -0
- data/app/assets/stylesheets/integral/frontend/modules/article.scss +34 -0
- data/app/assets/stylesheets/integral/frontend/modules/horizontal-post.scss +44 -0
- data/app/assets/stylesheets/integral/frontend/modules/inline-articles.scss +23 -0
- data/app/assets/stylesheets/integral/frontend/modules/latest-post.scss +37 -0
- data/app/assets/stylesheets/integral/frontend/modules/list-widget.scss +50 -0
- data/app/assets/stylesheets/integral/frontend/modules/piped-list.scss +33 -0
- data/app/assets/stylesheets/integral/frontend/modules/post-tags.scss +19 -0
- data/app/assets/stylesheets/integral/frontend/modules/scroll-container.scss +9 -0
- data/app/assets/stylesheets/integral/frontend/modules/sidebar-articles.scss +42 -0
- data/app/assets/stylesheets/integral/frontend/modules/sidebar-tags.scss +6 -0
- data/app/assets/stylesheets/integral/frontend/modules/sidebar-widget.scss +47 -0
- data/app/assets/stylesheets/integral/frontend/modules/vertical-post.scss +31 -0
- data/app/assets/stylesheets/integral/frontend/share_modal.sass +0 -5
- data/app/assets/stylesheets/integral/support/gallery.sass +8 -0
- data/app/assets/stylesheets/integral/support/media-query-indicator.sass +6 -0
- data/app/controllers/integral/application_controller.rb +7 -1
- data/app/controllers/integral/backend/activities_controller.rb +13 -2
- data/app/controllers/integral/backend/base_controller.rb +60 -7
- data/app/controllers/integral/backend/categories_controller.rb +49 -0
- data/app/controllers/integral/backend/pages_controller.rb +7 -2
- data/app/controllers/integral/backend/posts_controller.rb +8 -3
- data/app/controllers/integral/backend/static_pages_controller.rb +4 -0
- data/app/controllers/integral/backend/users_controller.rb +13 -7
- data/app/controllers/integral/categories_controller.rb +31 -0
- data/app/controllers/integral/pages_controller.rb +1 -1
- data/app/controllers/integral/posts_controller.rb +5 -3
- data/app/decorators/integral/category_decorator.rb +30 -0
- data/app/decorators/integral/category_version_decorator.rb +7 -0
- data/app/decorators/integral/image_version_decorator.rb +7 -0
- data/app/decorators/integral/list_decorator.rb +1 -1
- data/app/decorators/integral/list_version_decorator.rb +7 -0
- data/app/decorators/integral/page_version_decorator.rb +7 -0
- data/app/decorators/integral/post_decorator.rb +9 -1
- data/app/decorators/integral/post_version_decorator.rb +7 -0
- data/app/decorators/integral/user_decorator.rb +1 -1
- data/app/decorators/integral/user_version_decorator.rb +7 -0
- data/app/decorators/integral/version_decorator.rb +51 -12
- data/app/helpers/integral/backend/base_helper.rb +56 -2
- data/app/helpers/integral/blog_helper.rb +21 -4
- data/app/jobs/integral/webhook/delivery_job.rb +37 -0
- data/app/mailers/integral/contact_mailer.rb +4 -1
- data/app/models/concerns/integral/lazy_contentable.rb +54 -0
- data/app/models/concerns/integral/webhook/delivery.rb +30 -0
- data/app/models/concerns/integral/webhook/observable.rb +23 -0
- data/app/models/integral/category.rb +20 -0
- data/app/models/integral/category_version.rb +8 -0
- data/app/models/integral/list_item.rb +1 -2
- data/app/models/integral/page.rb +18 -3
- data/app/models/integral/post.rb +28 -1
- data/app/models/integral/version.rb +2 -2
- data/app/models/integral/webhook/endpoint.rb +40 -0
- data/app/models/integral/webhook/event.rb +20 -0
- data/app/policies/integral/base_policy.rb +1 -0
- data/app/policies/integral/category_policy.rb +9 -0
- data/app/serializers/integral/post_serializer.rb +24 -0
- data/app/uploaders/integral/avatar_uploader.rb +1 -1
- data/app/views/integral/backend/activities/_activity.haml +21 -0
- data/app/views/integral/backend/activities/_grid.haml +1 -2
- data/app/views/integral/backend/activities/shared/_grid.haml +3 -2
- data/app/views/integral/backend/activities/shared/{_listing.haml → index.haml} +1 -0
- data/app/views/integral/backend/activities/shared/{_log.haml → show.haml} +0 -0
- data/app/views/integral/backend/categories/_modal.haml +25 -0
- data/app/views/integral/backend/lists/_child_fields.haml +1 -1
- data/app/views/integral/backend/lists/_item_container.haml +1 -1
- data/app/views/integral/backend/lists/_item_modal.haml +1 -1
- data/app/views/integral/backend/lists/_list_item_fields.haml +1 -1
- data/app/views/integral/backend/pages/_form.haml +1 -4
- data/app/views/integral/backend/pages/_grid.haml +34 -9
- data/app/views/integral/backend/pages/edit.haml +9 -3
- data/app/views/integral/backend/pages/index.haml +11 -21
- data/app/views/integral/backend/pages/list.haml +22 -0
- data/app/views/integral/backend/pages/show.haml +48 -0
- data/app/views/integral/backend/posts/_form.haml +8 -6
- data/app/views/integral/backend/posts/_grid.haml +33 -7
- data/app/views/integral/backend/posts/index.haml +13 -19
- data/app/views/integral/backend/posts/list.haml +20 -0
- data/app/views/integral/backend/posts/show.haml +54 -0
- data/app/views/integral/backend/shared/_activity_modal.haml +13 -0
- data/app/views/integral/backend/shared/cards/_categories.haml +34 -0
- data/app/views/integral/backend/{static_pages/_card.haml → shared/cards/_object.haml} +0 -0
- data/app/views/integral/backend/shared/cards/_recent_activity.haml +20 -0
- data/app/views/integral/backend/shared/cards/_recent_pages.haml +19 -0
- data/app/views/integral/backend/shared/cards/_recent_posts.haml +18 -0
- data/app/views/integral/backend/shared/cards/_recent_user_activity.haml +1 -0
- data/app/views/integral/backend/shared/cards/_recent_users.haml +19 -0
- data/app/views/integral/backend/shared/cards/_top_post_authors.haml +19 -0
- data/app/views/integral/backend/shared/record_selector/_record.haml +6 -4
- data/app/views/integral/backend/static_pages/dashboard.haml +13 -11
- data/app/views/integral/backend/users/_grid.haml +24 -7
- data/app/views/integral/backend/users/index.haml +11 -17
- data/app/views/integral/backend/users/list.haml +18 -0
- data/app/views/integral/backend/users/show.haml +5 -11
- data/app/views/integral/categories/show.haml +5 -0
- data/app/views/integral/posts/_article_footer.haml +17 -0
- data/app/views/integral/posts/_card.haml +11 -0
- data/app/views/integral/posts/_latest_post.haml +8 -0
- data/app/views/integral/posts/_most_read_section.haml +8 -0
- data/app/views/integral/posts/_post.haml +11 -0
- data/app/views/integral/posts/_similar_posts.haml +5 -0
- data/app/views/integral/posts/index.haml +6 -5
- data/app/views/integral/posts/templates/default.haml +34 -33
- data/app/views/integral/shared/_subscribe_modal.haml +14 -0
- data/app/views/integral/shared/blog/_categories.haml +15 -0
- data/app/views/integral/shared/blog/_layout.haml +9 -0
- data/app/views/integral/shared/blog/_sidebar.haml +10 -0
- data/app/views/integral/shared/gallery/_placeholder.haml +1 -1
- data/app/views/integral/shared/gallery/_slide.haml +2 -2
- data/app/views/integral/shared/gallery/gallery.haml +5 -2
- data/app/views/integral/shared/sidebar/_item.haml +8 -0
- data/app/views/integral/shared/sidebar/_newsletter_signup.haml +7 -0
- data/app/views/integral/shared/sidebar/_popular_posts.haml +7 -0
- data/app/views/integral/shared/sidebar/_popular_tags.haml +7 -0
- data/app/views/integral/shared/sidebar/_recent_posts.haml +7 -0
- data/app/views/integral/tags/index.haml +2 -2
- data/app/views/integral/tags/show.haml +3 -6
- data/app/views/layouts/integral/backend.html.haml +3 -0
- data/app/views/layouts/integral/backend/_main_menu_items.haml +10 -0
- data/app/views/layouts/integral/frontend.html.haml +3 -3
- data/config/locales/en.yml +52 -49
- data/db/migrate/20190414172018_create_webhook_endpoints.rb +10 -0
- data/db/migrate/20190929191412_add_integral_post_categories.rb +13 -0
- data/db/migrate/20191203090008_add_image_to_integral_categories.rb +6 -0
- data/db/migrate/20200401210442_create_category_versions.rb +20 -0
- data/db/seeds.rb +3 -1
- data/lib/generators/integral/assets_generator.rb +2 -2
- data/lib/generators/integral/install_generator.rb +1 -1
- data/lib/generators/integral/views_generator.rb +1 -1
- data/lib/generators/templates/integral.rb +5 -0
- data/lib/integral.rb +3 -30
- data/lib/integral/acts_as_listable.rb +2 -2
- data/lib/integral/chart_renderer/base.rb +2 -0
- data/lib/integral/content_renderer.rb +2 -2
- data/lib/integral/engine.rb +2 -2
- data/lib/integral/grids/activities_grid.rb +15 -1
- data/lib/integral/list_item_renderer.rb +4 -2
- data/lib/integral/list_renderer.rb +1 -0
- data/lib/integral/middleware/page_router.rb +15 -6
- data/lib/integral/router.rb +19 -3
- data/lib/integral/version.rb +1 -1
- data/lib/integral/widgets/swiper_list.rb +3 -2
- data/public/images/integral/demo/continous-integration.png +0 -0
- data/public/images/integral/demo/foundation-frontend-framework.jpg +0 -0
- data/public/images/integral/demo/heroku.png +0 -0
- data/public/images/integral/demo/integral-cms-without-hassle.jpg +0 -0
- data/public/images/integral/demo/integral-features-activity-tracking.jpg +0 -0
- data/public/images/integral/demo/integral-features-contact-form.png +0 -0
- data/public/images/integral/demo/integral-features-design.jpg +0 -0
- data/public/images/integral/demo/integral-features-dynamic-pages.jpg +0 -0
- data/public/images/integral/demo/integral-features-image-management.jpg +0 -0
- data/public/images/integral/demo/integral-features-integrated-blog.jpg +0 -0
- data/public/images/integral/demo/integral-features-list-management.jpg +0 -0
- data/public/images/integral/demo/integral-features-seo-ready.jpg +0 -0
- data/public/images/integral/demo/integral-features-user-management.jpg +0 -0
- data/public/images/integral/demo/integral-presentation.png +0 -0
- data/spec/factories.rb +15 -7
- metadata +110 -98
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/copywidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/editwidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/copywidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/editwidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/removewidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/widget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/removewidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/widget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/plugin.js +0 -86
- data/app/assets/javascripts/ckeditor/plugins/integralrecentposts/dialogs/integralrecentposts.js +0 -40
- data/app/assets/javascripts/ckeditor/plugins/integralrecentposts/plugin.js +0 -32
- data/app/assets/javascripts/ckeditor/plugins/numericinput/LICENSE.md +0 -363
- data/app/assets/javascripts/ckeditor/plugins/numericinput/README.md +0 -16
- data/app/assets/javascripts/ckeditor/plugins/numericinput/plugin.js +0 -354
- data/app/assets/stylesheets/integral/frontend.sass +0 -25
- data/app/views/integral/backend/pages/activities.haml +0 -2
- data/app/views/integral/backend/pages/activity.haml +0 -1
- data/app/views/integral/backend/posts/activities.haml +0 -3
- data/app/views/integral/backend/posts/activity.haml +0 -1
- data/app/views/integral/posts/_collection.haml +0 -4
- data/app/views/integral/posts/_item.haml +0 -16
- data/app/views/integral/shared/_blog_layout.haml +0 -15
- data/app/views/integral/shared/_blog_sidebar.haml +0 -49
- data/lib/integral/slack_bot.rb +0 -45
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
Numeric Input is a plugin that allows you to use ```<input type = "number">``` in the dialogs of CKEditor.
|
|
2
|
-
|
|
3
|
-
If you have created a dialog and want to add a field in which the user can only enter a number, CKEditor only lets you use a text field and add a validation when the user clicks on the OK button in the dialog.
|
|
4
|
-
|
|
5
|
-
To improve the user experience and usability of their plugins, you can add the Numeric Input plugin to your editor.
|
|
6
|
-
|
|
7
|
-
With Numeric Input You can tell the browser user that the field is type = "number"; in this way the browser will:
|
|
8
|
-
|
|
9
|
-
- Prevent the user to enter non-numeric values
|
|
10
|
-
- Offer buttons to increase or decrease the numerical value
|
|
11
|
-
- Prevent the user to enter a value out of range
|
|
12
|
-
|
|
13
|
-
With Numeric Input you can define the allowed number range and the value to add or subtract when the user clicks the buttons to increase or decrease.
|
|
14
|
-
|
|
15
|
-
More info: http://www.pluginsforckeditor.com/More-Plugins/NumericInput-Introduction
|
|
16
|
-
|
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2016 Uritec. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md
|
|
4
|
-
* version 0.2
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileOverview Extends the Dialog User Interface to add the option of using input type="number"
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/* globals CKEDITOR */
|
|
12
|
-
|
|
13
|
-
(function() {
|
|
14
|
-
'use strict';
|
|
15
|
-
|
|
16
|
-
CKEDITOR.plugins.add( 'numericinput', {
|
|
17
|
-
requires: 'dialogui',
|
|
18
|
-
init: function( editor ) {
|
|
19
|
-
|
|
20
|
-
// Add hook to automatically use the numericinput type on existing dialogs that we don't want/can't change
|
|
21
|
-
|
|
22
|
-
// Customize dialogs:
|
|
23
|
-
CKEDITOR.on( 'dialogDefinition', function( ev ) {
|
|
24
|
-
if ( editor != ev.editor )
|
|
25
|
-
return;
|
|
26
|
-
|
|
27
|
-
var dialogName = ev.data.name,
|
|
28
|
-
dialogDefinition = ev.data.definition,
|
|
29
|
-
tabsToProcess,
|
|
30
|
-
tabName, fields, tab;
|
|
31
|
-
|
|
32
|
-
if (dialogName == 'tableProperties')
|
|
33
|
-
dialogName = 'table';
|
|
34
|
-
|
|
35
|
-
var fieldsToModify = editor.config.numericinput_modifyfields;
|
|
36
|
-
if (!fieldsToModify)
|
|
37
|
-
return;
|
|
38
|
-
|
|
39
|
-
/*
|
|
40
|
-
numericinput_modifyfields is an object, each entry is the name of a dialog that we want to modify,
|
|
41
|
-
the value is another object, the tabs of the dialog, and finally an object with the name of the fields.
|
|
42
|
-
eg for the Table dialog
|
|
43
|
-
config.numericinput_modifyfields = {
|
|
44
|
-
'table': {
|
|
45
|
-
'info' : {
|
|
46
|
-
'txtRows': {
|
|
47
|
-
'min': 1
|
|
48
|
-
},
|
|
49
|
-
'txtCols': {
|
|
50
|
-
'min': 1
|
|
51
|
-
},
|
|
52
|
-
'txtBorder': {
|
|
53
|
-
}, 'txtCellSpace': {
|
|
54
|
-
},
|
|
55
|
-
'txtCellPad': {
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
*/
|
|
62
|
-
// iterate the possible items defined in the configuration
|
|
63
|
-
if ( fieldsToModify && ( tabsToProcess = fieldsToModify[ dialogName ] ) ) {
|
|
64
|
-
for ( tabName in tabsToProcess ) {
|
|
65
|
-
tab = dialogDefinition.getContents( tabName );
|
|
66
|
-
if (!tab)
|
|
67
|
-
continue;
|
|
68
|
-
|
|
69
|
-
fields = tabsToProcess[ tabName ];
|
|
70
|
-
for ( var fieldName in fields ) {
|
|
71
|
-
var dialogField = tab.get( fieldName );
|
|
72
|
-
if ( dialogField ) {
|
|
73
|
-
dialogField.type = 'number';
|
|
74
|
-
dialogField = CKEDITOR.tools.extend(dialogField, fields[ fieldName], true);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
if (CKEDITOR.ui.dialog.numericInput)
|
|
84
|
-
return;
|
|
85
|
-
|
|
86
|
-
initNumericInput();
|
|
87
|
-
}
|
|
88
|
-
} );
|
|
89
|
-
|
|
90
|
-
function initNumericInput() {
|
|
91
|
-
var initPrivateObject = function( elementDefinition ) {
|
|
92
|
-
if (!this._)
|
|
93
|
-
this._ = {};
|
|
94
|
-
this._[ 'default' ] = this._.initValue = elementDefinition[ 'default' ] || '';
|
|
95
|
-
this._.required = elementDefinition.required || false;
|
|
96
|
-
var args = [ this._ ];
|
|
97
|
-
for ( var i = 1; i < arguments.length; i++ )
|
|
98
|
-
args.push( arguments[ i ] );
|
|
99
|
-
args.push( true );
|
|
100
|
-
CKEDITOR.tools.extend.apply( CKEDITOR.tools, args );
|
|
101
|
-
return this._;
|
|
102
|
-
},
|
|
103
|
-
numericBuilder = {
|
|
104
|
-
build: function( dialog, elementDefinition, output ) {
|
|
105
|
-
return new CKEDITOR.ui.dialog.numericInput( dialog, elementDefinition, output );
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
commonPrototype = {
|
|
109
|
-
isChanged: function() {
|
|
110
|
-
return this.getValue() != this.getInitValue();
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
reset: function( noChangeEvent ) {
|
|
114
|
-
this.setValue( this.getInitValue(), noChangeEvent );
|
|
115
|
-
},
|
|
116
|
-
|
|
117
|
-
setInitValue: function() {
|
|
118
|
-
this._.initValue = this.getValue();
|
|
119
|
-
},
|
|
120
|
-
|
|
121
|
-
resetInitValue: function() {
|
|
122
|
-
this._.initValue = this._[ 'default' ];
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
getInitValue: function() {
|
|
126
|
-
return this._.initValue;
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
CKEDITOR.tools.extend( CKEDITOR.ui.dialog, {
|
|
131
|
-
/**
|
|
132
|
-
* A numeric input with a label.
|
|
133
|
-
*
|
|
134
|
-
* @class CKEDITOR.ui.dialog.numericInput
|
|
135
|
-
* @extends CKEDITOR.ui.dialog.labeledElement
|
|
136
|
-
* @constructor Creates a numericInput class instance.
|
|
137
|
-
* @param {CKEDITOR.dialog} dialog Parent dialog window object.
|
|
138
|
-
* @param {CKEDITOR.dialog.definition.uiElement} elementDefinition
|
|
139
|
-
* The element definition. Accepted fields:
|
|
140
|
-
*
|
|
141
|
-
* * `default` (Optional) The default value.
|
|
142
|
-
* * `validate` (Optional) The validation function.
|
|
143
|
-
* * `min` (Optional) The minimum value of the input.
|
|
144
|
-
* * `max` (Optional) The maximum value of the input.
|
|
145
|
-
* * `step` (Optional) The step value of the input.
|
|
146
|
-
*
|
|
147
|
-
* @param {Array} htmlList List of HTML code to output to.
|
|
148
|
-
*/
|
|
149
|
-
numericInput: function( dialog, elementDefinition, htmlList ) {
|
|
150
|
-
if ( arguments.length < 3 )
|
|
151
|
-
return;
|
|
152
|
-
|
|
153
|
-
initPrivateObject.call( this, elementDefinition );
|
|
154
|
-
var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_numericInput',
|
|
155
|
-
attributes = { 'class': 'cke_dialog_ui_input_text cke_dialog_ui_input_number', id: domId, type: 'number' };
|
|
156
|
-
|
|
157
|
-
// Set the validator, if any.
|
|
158
|
-
if ( elementDefinition.validate )
|
|
159
|
-
this.validate = elementDefinition.validate;
|
|
160
|
-
|
|
161
|
-
// Set the min, max and step.
|
|
162
|
-
if ( typeof elementDefinition.min != 'undefined' )
|
|
163
|
-
attributes.min = elementDefinition.min;
|
|
164
|
-
if ( typeof elementDefinition.max != 'undefined' )
|
|
165
|
-
attributes.max = elementDefinition.max;
|
|
166
|
-
if ( elementDefinition.step )
|
|
167
|
-
attributes.step = elementDefinition.step;
|
|
168
|
-
|
|
169
|
-
if ( elementDefinition.inputStyle )
|
|
170
|
-
attributes.style = elementDefinition.inputStyle;
|
|
171
|
-
|
|
172
|
-
// If user presses Enter in a text box, it implies clicking OK for the dialog.
|
|
173
|
-
var me = this,
|
|
174
|
-
keyPressedOnMe = false;
|
|
175
|
-
dialog.on( 'load', function() {
|
|
176
|
-
me.getInputElement().on( 'keydown', function( evt ) {
|
|
177
|
-
if ( evt.data.getKeystroke() == 13 )
|
|
178
|
-
keyPressedOnMe = true;
|
|
179
|
-
} );
|
|
180
|
-
|
|
181
|
-
// Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749)
|
|
182
|
-
me.getInputElement().on( 'keyup', function( evt ) {
|
|
183
|
-
if ( evt.data.getKeystroke() == 13 && keyPressedOnMe ) {
|
|
184
|
-
var okButton = dialog.getButton( 'ok' );
|
|
185
|
-
if (okButton)
|
|
186
|
-
setTimeout( function() {
|
|
187
|
-
dialog.getButton( 'ok' ).click();
|
|
188
|
-
}, 0 );
|
|
189
|
-
keyPressedOnMe = false;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
}, null, null, 1000 );
|
|
193
|
-
} );
|
|
194
|
-
|
|
195
|
-
var innerHTML = function() {
|
|
196
|
-
// IE BUG: Text input fields in IE at 100% would exceed a <td> or inline
|
|
197
|
-
// container's width, so need to wrap it inside a <div>.
|
|
198
|
-
var html = [ '<div class="cke_dialog_ui_input_number" role="presentation"' ];
|
|
199
|
-
|
|
200
|
-
if ( elementDefinition.width )
|
|
201
|
-
html.push( 'style="width:' + elementDefinition.width + '" ' );
|
|
202
|
-
|
|
203
|
-
html.push( '><input ' );
|
|
204
|
-
|
|
205
|
-
attributes[ 'aria-labelledby' ] = this._.labelId;
|
|
206
|
-
if (this._.required)
|
|
207
|
-
attributes[ 'aria-required' ] = this._.required;
|
|
208
|
-
for ( var i in attributes )
|
|
209
|
-
html.push( i + '="' + attributes[ i ] + '" ' );
|
|
210
|
-
html.push( ' /></div>' );
|
|
211
|
-
return html.join( '' );
|
|
212
|
-
};
|
|
213
|
-
CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
}, true );
|
|
217
|
-
|
|
218
|
-
/** @class CKEDITOR.ui.dialog.numericInput */
|
|
219
|
-
CKEDITOR.ui.dialog.numericInput.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement(), {
|
|
220
|
-
/**
|
|
221
|
-
* Gets the text input DOM element under this UI object.
|
|
222
|
-
*
|
|
223
|
-
* @returns {CKEDITOR.dom.element} The DOM element of the text input.
|
|
224
|
-
*/
|
|
225
|
-
getInputElement: function() {
|
|
226
|
-
return CKEDITOR.document.getById( this._.inputId );
|
|
227
|
-
},
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Puts focus into the text input.
|
|
231
|
-
*/
|
|
232
|
-
focus: function() {
|
|
233
|
-
var me = this.selectParentTab();
|
|
234
|
-
|
|
235
|
-
// GECKO BUG: setTimeout() is needed to workaround invisible selections.
|
|
236
|
-
setTimeout( function() {
|
|
237
|
-
var element = me.getInputElement();
|
|
238
|
-
if (element)
|
|
239
|
-
element.$.focus();
|
|
240
|
-
}, 0 );
|
|
241
|
-
},
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Selects all the text in the text input.
|
|
245
|
-
*/
|
|
246
|
-
select: function() {
|
|
247
|
-
var me = this.selectParentTab();
|
|
248
|
-
|
|
249
|
-
// GECKO BUG: setTimeout() is needed to workaround invisible selections.
|
|
250
|
-
setTimeout( function() {
|
|
251
|
-
var e = me.getInputElement();
|
|
252
|
-
if ( e ) {
|
|
253
|
-
e.$.focus();
|
|
254
|
-
e.$.select();
|
|
255
|
-
}
|
|
256
|
-
}, 0 );
|
|
257
|
-
},
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Handler for the text input's access key up event. Makes a `select()`
|
|
261
|
-
* call to the text input.
|
|
262
|
-
*/
|
|
263
|
-
accessKeyUp: function() {
|
|
264
|
-
this.select();
|
|
265
|
-
},
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Sets the value of this numeric input object.
|
|
269
|
-
*
|
|
270
|
-
* uiElement.setValue( 83 );
|
|
271
|
-
*
|
|
272
|
-
* @param {Number} value The new value.
|
|
273
|
-
* @returns {CKEDITOR.ui.dialog.textInput} The current UI element.
|
|
274
|
-
*/
|
|
275
|
-
setValue: function( value ) {
|
|
276
|
-
return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply( this, arguments );
|
|
277
|
-
},
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* Gets the value of this number input object.
|
|
281
|
-
*
|
|
282
|
-
* @returns {String} The value.
|
|
283
|
-
*/
|
|
284
|
-
getValue: function() {
|
|
285
|
-
return CKEDITOR.ui.dialog.uiElement.prototype.getValue.call( this );
|
|
286
|
-
if ( value === '' )
|
|
287
|
-
return value;
|
|
288
|
-
|
|
289
|
-
return parseFloat( value );
|
|
290
|
-
},
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Gets the value as number of this number input object.
|
|
294
|
-
*
|
|
295
|
-
* @returns {Number} The value.
|
|
296
|
-
*/
|
|
297
|
-
getValueAsNumber: function() {
|
|
298
|
-
var value = CKEDITOR.ui.dialog.uiElement.prototype.getValue.call( this );
|
|
299
|
-
if ( value === '' )
|
|
300
|
-
return null;
|
|
301
|
-
|
|
302
|
-
return parseFloat( value );
|
|
303
|
-
},
|
|
304
|
-
|
|
305
|
-
keyboardFocusable: true
|
|
306
|
-
}, commonPrototype, true );
|
|
307
|
-
|
|
308
|
-
CKEDITOR.dialog.addUIElement( 'number', numericBuilder );
|
|
309
|
-
}
|
|
310
|
-
})();
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
/*
|
|
314
|
-
/**
|
|
315
|
-
* An object to modify elements of existing dialogs and turn them to input type="number"
|
|
316
|
-
*
|
|
317
|
-
* CKEDITOR.config.numericinput_modifyfields;
|
|
318
|
-
*
|
|
319
|
-
* @since 0.2
|
|
320
|
-
* @cfg {Object} numericinput_modifyfields
|
|
321
|
-
* @member CKEDITOR.config
|
|
322
|
-
|
|
323
|
-
The object is composed of dialog names, each of these properties is another object.
|
|
324
|
-
This second object then lists the tab names and its value is again an object.
|
|
325
|
-
In the third object the keys are the control names, and the value is an object with the properties that must me modified.
|
|
326
|
-
|
|
327
|
-
Example for the Table dialog:
|
|
328
|
-
|
|
329
|
-
config.numericinput_modifyfields = {
|
|
330
|
-
'table': {
|
|
331
|
-
'info' : {
|
|
332
|
-
'txtRows': {
|
|
333
|
-
'min': 1
|
|
334
|
-
},
|
|
335
|
-
'txtCols': {
|
|
336
|
-
'min': 1
|
|
337
|
-
},
|
|
338
|
-
'txtBorder': {
|
|
339
|
-
'min': 0,
|
|
340
|
-
'controlStyle': 'width: 4em',
|
|
341
|
-
},
|
|
342
|
-
'txtCellSpace': {
|
|
343
|
-
'min': 0,
|
|
344
|
-
'controlStyle': 'width: 4em',
|
|
345
|
-
},
|
|
346
|
-
'txtCellPad': {
|
|
347
|
-
'min': 0,
|
|
348
|
-
'controlStyle': 'width: 4em',
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
*/
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
@import 'font-awesome-sprockets'
|
|
2
|
-
@import 'font-awesome'
|
|
3
|
-
@import "toastr"
|
|
4
|
-
|
|
5
|
-
@import 'integral/frontend/foundation_and_overrides'
|
|
6
|
-
|
|
7
|
-
$nprogress-color: $primary-color
|
|
8
|
-
$nprogress-height: 5px
|
|
9
|
-
|
|
10
|
-
@import 'nprogress'
|
|
11
|
-
@import 'nprogress-turbolinks5'
|
|
12
|
-
|
|
13
|
-
@import 'integral/support/mixins'
|
|
14
|
-
@import 'integral/support/scroll-to-top'
|
|
15
|
-
@import 'integral/support/media-query-indicator'
|
|
16
|
-
@import 'integral/support/gallery'
|
|
17
|
-
@import "integral/support/swiper"
|
|
18
|
-
|
|
19
|
-
@import 'integral/frontend/share_modal'
|
|
20
|
-
@import 'integral/frontend/layout'
|
|
21
|
-
@import 'integral/frontend/shared'
|
|
22
|
-
@import 'integral/frontend/demo'
|
|
23
|
-
@import 'integral/frontend/blog'
|
|
24
|
-
|
|
25
|
-
@import 'integral/frontend/overrides'
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
= render partial: 'integral/backend/activities/shared/log', locals: { record: @resource }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
= render partial: 'integral/backend/activities/shared/log', locals: { record: @resource }
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
.record--post
|
|
2
|
-
%p
|
|
3
|
-
%span.post--date= post.published_at
|
|
4
|
-
-# %span.author= post.author
|
|
5
|
-
= link_to post_url(post) do
|
|
6
|
-
%h3.post--title= post.title
|
|
7
|
-
= link_to post_url(post) do
|
|
8
|
-
= image_tag post.image(:medium), class: 'post--image'
|
|
9
|
-
- if post.tags.present?
|
|
10
|
-
%ul.tag-list
|
|
11
|
-
- post.tags.each do |tag|
|
|
12
|
-
%li
|
|
13
|
-
= link_to tag_url(tag.name) do
|
|
14
|
-
= tag.name
|
|
15
|
-
%p.description= post.description
|
|
16
|
-
%p.text-center= link_to t('.read_more'), post_url(post), class: 'button secondary'
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
.blog-hero
|
|
2
|
-
= image_tag image, class: 'hero-image'
|
|
3
|
-
.text
|
|
4
|
-
%h1= title
|
|
5
|
-
%h2= subtitle
|
|
6
|
-
|
|
7
|
-
= render partial: 'integral/shared/breadcrumbs'
|
|
8
|
-
|
|
9
|
-
.grid-container
|
|
10
|
-
.grid-x.grid-padding-x
|
|
11
|
-
.cell.small-12.large-9
|
|
12
|
-
= yield
|
|
13
|
-
.cell.small-12.large-3
|
|
14
|
-
= render partial: 'integral/shared/blog_sidebar'
|
|
15
|
-
= render partial: 'integral/shared/share_modal'
|