lato_core 2.1.2 → 2.1.3
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/app/assets/javascripts/lato_core/application.js +18 -9
 - data/app/assets/javascripts/lato_core/modules/CoreButton.js +38 -0
 - data/app/assets/javascripts/lato_core/{initializers/Charts.js → modules/CoreChart.js} +12 -12
 - data/app/assets/javascripts/lato_core/modules/CoreDatepicker.js +42 -0
 - data/app/assets/javascripts/lato_core/modules/CoreEditor.js +27 -0
 - data/app/assets/javascripts/lato_core/modules/CoreFlash.js +27 -0
 - data/app/assets/javascripts/lato_core/modules/CoreFormValidator.js +110 -0
 - data/app/assets/javascripts/lato_core/{initializers/Layout.js → modules/CoreLayout.js} +6 -5
 - data/app/assets/javascripts/lato_core/modules/CoreMediapicker.js +140 -0
 - data/app/assets/javascripts/lato_core/{interfaces/Modal.js → modules/CoreModal.js} +27 -2
 - data/app/assets/javascripts/lato_core/modules/CoreSelect.js +110 -0
 - data/app/assets/javascripts/lato_core/{initializers/inputs/SortableManager.js → modules/CoreSortableManager.js} +7 -6
 - data/app/assets/javascripts/lato_core/modules/CoreTable.js +28 -0
 - data/app/assets/stylesheets/lato_core/cells/inputs/_inputs.scss +1 -0
 - data/app/assets/stylesheets/lato_core/cells/inputs/_multipleselect.scss +6 -0
 - data/app/assets/stylesheets/lato_core/cells/widgets/_index.scss +9 -0
 - data/app/cells/lato_core/inputs/dropzone/views/show.html.erb +24 -20
 - data/app/cells/lato_core/inputs/multipleselect/cell.rb +52 -0
 - data/app/cells/lato_core/inputs/multipleselect/views/show.html.erb +16 -0
 - data/app/cells/lato_core/inputs/select/cell.rb +19 -1
 - data/app/cells/lato_core/inputs/select/views/show.html.erb +10 -2
 - data/app/cells/lato_core/widgets/index/cell.rb +1 -0
 - data/app/cells/lato_core/widgets/index/views/partials/counter.html.erb +3 -0
 - data/app/cells/lato_core/widgets/index/views/show.html.erb +2 -0
 - data/app/controllers/lato_core/back/superusers_controller.rb +9 -9
 - data/app/controllers/lato_core/doc/cells_inputs_controller.rb +28 -0
 - data/app/views/lato_core/doc/cells_elements/button.html.erb +0 -4
 - data/app/views/lato_core/doc/cells_elements/modal.html.erb +4 -4
 - data/app/views/lato_core/doc/cells_inputs/multipleselect.html.erb +110 -0
 - data/app/views/lato_core/doc/cells_inputs/select.html.erb +48 -2
 - data/app/views/lato_core/doc/doc/index.html.erb +1 -0
 - data/app/views/lato_core/doc/general/generators.html.erb +40 -0
 - data/app/views/layouts/lato_core/partials/_logo.html.erb +7 -5
 - data/config/languages/default.yml +2 -1
 - data/config/languages/it.yml +2 -1
 - data/config/routes/doc.rb +5 -0
 - data/lib/generators/lato_core/crud_controller_generator.rb +35 -0
 - data/lib/generators/lato_core/crud_generator.rb +31 -12
 - data/lib/generators/lato_core/crud_views_generator.rb +52 -0
 - data/lib/generators/lato_core/initializer_generator.rb +38 -28
 - data/lib/generators/lato_core/scaffold_generator.rb +30 -0
 - data/lib/generators/lato_core/templates/crud_controller/app/controllers/lato/crud_controller.rb +94 -0
 - data/lib/generators/lato_core/templates/crud_views/app/views/lato/crud/edit.html.erb +24 -0
 - data/lib/generators/lato_core/templates/crud_views/app/views/lato/crud/index.html.erb +35 -0
 - data/lib/generators/lato_core/templates/crud_views/app/views/lato/crud/new.html.erb +24 -0
 - data/lib/generators/lato_core/templates/crud_views/app/views/lato/crud/shared/_form.html.erb +42 -0
 - data/lib/generators/lato_core/templates/crud_views/app/views/lato/crud/show.html.erb +22 -0
 - data/lib/generators/lato_core/templates/{assets → initializer/assets}/images/logo.svg +0 -0
 - data/lib/generators/lato_core/templates/{assets → initializer/assets}/javascripts/application.js +0 -0
 - data/lib/generators/lato_core/templates/{assets → initializer/assets}/stylesheets/application.scss +0 -0
 - data/lib/generators/lato_core/templates/{assets → initializer/assets}/stylesheets/theme.scss.erb +0 -0
 - data/lib/generators/lato_core/templates/initializer/controllers/application_controller.rb +25 -0
 - data/lib/generators/lato_core/templates/initializer/views/application/index.html.erb +20 -0
 - data/lib/lato_core/interfaces/token.rb +4 -3
 - data/lib/lato_core/version.rb +1 -1
 - metadata +33 -16
 - data/app/assets/javascripts/lato_core/initializers/Elements.js +0 -67
 - data/app/assets/javascripts/lato_core/initializers/Inputs.js +0 -249
 - data/app/assets/javascripts/lato_core/initializers/inputs/MultipleSelect.js +0 -0
 - data/lib/generators/lato_core/templates/controllers/application_controller.rb +0 -13
 - data/lib/generators/lato_core/templates/views/application/index.html.erb +0 -16
 
| 
         
            File without changes
         
     | 
    
        data/lib/generators/lato_core/templates/{assets → initializer/assets}/javascripts/application.js
    RENAMED
    
    | 
         
            File without changes
         
     | 
    
        data/lib/generators/lato_core/templates/{assets → initializer/assets}/stylesheets/application.scss
    RENAMED
    
    | 
         
            File without changes
         
     | 
    
        data/lib/generators/lato_core/templates/{assets → initializer/assets}/stylesheets/theme.scss.erb
    RENAMED
    
    | 
         
            File without changes
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Lato
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              # ApplicationController.
         
     | 
| 
      
 6 
     | 
    
         
            +
              class ApplicationController < ::ApplicationController
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                # set lato layout
         
     | 
| 
      
 9 
     | 
    
         
            +
                layout 'lato_core/admin'
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                # initialize cells dependencies
         
     | 
| 
      
 12 
     | 
    
         
            +
                before_action :core__cells_initialize
         
     | 
| 
      
 13 
     | 
    
         
            +
                # manage superuser session for security
         
     | 
| 
      
 14 
     | 
    
         
            +
                before_action :core__manage_superuser_session
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                def index
         
     | 
| 
      
 17 
     | 
    
         
            +
                  # set current menu active page
         
     | 
| 
      
 18 
     | 
    
         
            +
                  core__set_menu_active_item('sample_page')
         
     | 
| 
      
 19 
     | 
    
         
            +
                  # set current page title
         
     | 
| 
      
 20 
     | 
    
         
            +
                  core__set_header_active_page_title('Sample page')
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,20 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%
         
     | 
| 
      
 2 
     | 
    
         
            +
              # initialize a new row
         
     | 
| 
      
 3 
     | 
    
         
            +
              main_row = cell(:elements, :row).new
         
     | 
| 
      
 4 
     | 
    
         
            +
              # initialize a new block
         
     | 
| 
      
 5 
     | 
    
         
            +
              main_block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12')
         
     | 
| 
      
 6 
     | 
    
         
            +
              # initialize block title
         
     | 
| 
      
 7 
     | 
    
         
            +
              main_block_title = cell(:elements, :title).new(label: "Welcome to this Lato sample page", size: 2)
         
     | 
| 
      
 8 
     | 
    
         
            +
            %>
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            <!-- MAIN ROW -->
         
     | 
| 
      
 11 
     | 
    
         
            +
            <%=raw main_row.open %>
         
     | 
| 
      
 12 
     | 
    
         
            +
              <!-- MAIN BLOCK -->
         
     | 
| 
      
 13 
     | 
    
         
            +
              <%=raw main_block.open %>
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                <%=raw main_block_title %>
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              <%=raw main_block.close %>
         
     | 
| 
      
 18 
     | 
    
         
            +
              <!-- / MAIN BLOCK -->
         
     | 
| 
      
 19 
     | 
    
         
            +
            <%=raw main_row.close %>
         
     | 
| 
      
 20 
     | 
    
         
            +
            <!-- / MAIN ROW -->
         
     | 
| 
         @@ -8,13 +8,14 @@ module LatoCore 
     | 
|
| 
       8 
8 
     | 
    
         
             
                def core__encode_token exp, payload
         
     | 
| 
       9 
9 
     | 
    
         
             
                  exp = 1.day.from_now unless exp
         
     | 
| 
       10 
10 
     | 
    
         
             
                  payload[:exp] = exp.to_i
         
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
      
 11 
     | 
    
         
            +
                  JWT.encode(payload, Rails.application.secrets.secret_key_base, 'HS256')
         
     | 
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                # This function return the payload of a token.
         
     | 
| 
       15 
15 
     | 
    
         
             
                def core__decode_token token
         
     | 
| 
       16 
16 
     | 
    
         
             
                  begin
         
     | 
| 
       17 
     | 
    
         
            -
                    body = JWT.decode(token, Rails.application.secrets.secret_key_base 
     | 
| 
      
 17 
     | 
    
         
            +
                    body = JWT.decode(token, Rails.application.secrets.secret_key_base,
         
     | 
| 
      
 18 
     | 
    
         
            +
                                      true, algorithm: 'HS256')[0]
         
     | 
| 
       18 
19 
     | 
    
         
             
                    return HashWithIndifferentAccess.new body
         
     | 
| 
       19 
20 
     | 
    
         
             
                  rescue => exception
         
     | 
| 
       20 
21 
     | 
    
         
             
                    return nil
         
     | 
| 
         @@ -22,4 +23,4 @@ module LatoCore 
     | 
|
| 
       22 
23 
     | 
    
         
             
                end
         
     | 
| 
       23 
24 
     | 
    
         | 
| 
       24 
25 
     | 
    
         
             
              end
         
     | 
| 
       25 
     | 
    
         
            -
            end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/lato_core/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: lato_core
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.1.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Ideonetwork
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2017- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2017-10-26 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -138,7 +138,7 @@ dependencies: 
     | 
|
| 
       138 
138 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       139 
139 
     | 
    
         
             
            description: Lato is a modular management system for Rails
         
     | 
| 
       140 
140 
     | 
    
         
             
            email:
         
     | 
| 
       141 
     | 
    
         
            -
            -  
     | 
| 
      
 141 
     | 
    
         
            +
            - dev@ideonetwork.it
         
     | 
| 
       142 
142 
     | 
    
         
             
            executables: []
         
     | 
| 
       143 
143 
     | 
    
         
             
            extensions: []
         
     | 
| 
       144 
144 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
         @@ -169,13 +169,18 @@ files: 
     | 
|
| 
       169 
169 
     | 
    
         
             
            - app/assets/images/lato_core/logo.svg
         
     | 
| 
       170 
170 
     | 
    
         
             
            - app/assets/images/lato_core/user.png
         
     | 
| 
       171 
171 
     | 
    
         
             
            - app/assets/javascripts/lato_core/application.js
         
     | 
| 
       172 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
       173 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
       174 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
       175 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
       176 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
       177 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
       178 
     | 
    
         
            -
            - app/assets/javascripts/lato_core/ 
     | 
| 
      
 172 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreButton.js
         
     | 
| 
      
 173 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreChart.js
         
     | 
| 
      
 174 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreDatepicker.js
         
     | 
| 
      
 175 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreEditor.js
         
     | 
| 
      
 176 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreFlash.js
         
     | 
| 
      
 177 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreFormValidator.js
         
     | 
| 
      
 178 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreLayout.js
         
     | 
| 
      
 179 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreMediapicker.js
         
     | 
| 
      
 180 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreModal.js
         
     | 
| 
      
 181 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreSelect.js
         
     | 
| 
      
 182 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreSortableManager.js
         
     | 
| 
      
 183 
     | 
    
         
            +
            - app/assets/javascripts/lato_core/modules/CoreTable.js
         
     | 
| 
       179 
184 
     | 
    
         
             
            - app/assets/javascripts/lato_core/vendors/Sortable.min.js
         
     | 
| 
       180 
185 
     | 
    
         
             
            - app/assets/javascripts/lato_core/vendors/chart.bundle.js
         
     | 
| 
       181 
186 
     | 
    
         
             
            - app/assets/javascripts/lato_core/vendors/dropzone.js
         
     | 
| 
         @@ -217,6 +222,7 @@ files: 
     | 
|
| 
       217 
222 
     | 
    
         
             
            - app/assets/stylesheets/lato_core/cells/inputs/_general.scss
         
     | 
| 
       218 
223 
     | 
    
         
             
            - app/assets/stylesheets/lato_core/cells/inputs/_geolocalization.scss
         
     | 
| 
       219 
224 
     | 
    
         
             
            - app/assets/stylesheets/lato_core/cells/inputs/_inputs.scss
         
     | 
| 
      
 225 
     | 
    
         
            +
            - app/assets/stylesheets/lato_core/cells/inputs/_multipleselect.scss
         
     | 
| 
       220 
226 
     | 
    
         
             
            - app/assets/stylesheets/lato_core/cells/inputs/_number.scss
         
     | 
| 
       221 
227 
     | 
    
         
             
            - app/assets/stylesheets/lato_core/cells/inputs/_password.scss
         
     | 
| 
       222 
228 
     | 
    
         
             
            - app/assets/stylesheets/lato_core/cells/inputs/_select.scss
         
     | 
| 
         @@ -316,6 +322,7 @@ files: 
     | 
|
| 
       316 
322 
     | 
    
         
             
            - app/cells/lato_core/inputs/youtube/cell.rb
         
     | 
| 
       317 
323 
     | 
    
         
             
            - app/cells/lato_core/inputs/youtube/views/show.html.erb
         
     | 
| 
       318 
324 
     | 
    
         
             
            - app/cells/lato_core/widgets/index/cell.rb
         
     | 
| 
      
 325 
     | 
    
         
            +
            - app/cells/lato_core/widgets/index/views/partials/counter.html.erb
         
     | 
| 
       319 
326 
     | 
    
         
             
            - app/cells/lato_core/widgets/index/views/partials/new.html.erb
         
     | 
| 
       320 
327 
     | 
    
         
             
            - app/cells/lato_core/widgets/index/views/partials/pagination.html.erb
         
     | 
| 
       321 
328 
     | 
    
         
             
            - app/cells/lato_core/widgets/index/views/partials/search.html.erb
         
     | 
| 
         @@ -367,6 +374,7 @@ files: 
     | 
|
| 
       367 
374 
     | 
    
         
             
            - app/views/lato_core/doc/cells_inputs/email.html.erb
         
     | 
| 
       368 
375 
     | 
    
         
             
            - app/views/lato_core/doc/cells_inputs/form.html.erb
         
     | 
| 
       369 
376 
     | 
    
         
             
            - app/views/lato_core/doc/cells_inputs/geolocalization.html.erb
         
     | 
| 
      
 377 
     | 
    
         
            +
            - app/views/lato_core/doc/cells_inputs/multipleselect.html.erb
         
     | 
| 
       370 
378 
     | 
    
         
             
            - app/views/lato_core/doc/cells_inputs/number.html.erb
         
     | 
| 
       371 
379 
     | 
    
         
             
            - app/views/lato_core/doc/cells_inputs/password.html.erb
         
     | 
| 
       372 
380 
     | 
    
         
             
            - app/views/lato_core/doc/cells_inputs/select.html.erb
         
     | 
| 
         @@ -406,14 +414,23 @@ files: 
     | 
|
| 
       406 
414 
     | 
    
         
             
            - config/routes/back.rb
         
     | 
| 
       407 
415 
     | 
    
         
             
            - config/routes/doc.rb
         
     | 
| 
       408 
416 
     | 
    
         
             
            - db/migrate/20160224181217_create_lato_core_superusers.rb
         
     | 
| 
      
 417 
     | 
    
         
            +
            - lib/generators/lato_core/crud_controller_generator.rb
         
     | 
| 
       409 
418 
     | 
    
         
             
            - lib/generators/lato_core/crud_generator.rb
         
     | 
| 
      
 419 
     | 
    
         
            +
            - lib/generators/lato_core/crud_views_generator.rb
         
     | 
| 
       410 
420 
     | 
    
         
             
            - lib/generators/lato_core/initializer_generator.rb
         
     | 
| 
       411 
     | 
    
         
            -
            - lib/generators/lato_core/ 
     | 
| 
       412 
     | 
    
         
            -
            - lib/generators/lato_core/templates/ 
     | 
| 
       413 
     | 
    
         
            -
            - lib/generators/lato_core/templates/ 
     | 
| 
       414 
     | 
    
         
            -
            - lib/generators/lato_core/templates/ 
     | 
| 
       415 
     | 
    
         
            -
            - lib/generators/lato_core/templates/ 
     | 
| 
       416 
     | 
    
         
            -
            - lib/generators/lato_core/templates/views/ 
     | 
| 
      
 421 
     | 
    
         
            +
            - lib/generators/lato_core/scaffold_generator.rb
         
     | 
| 
      
 422 
     | 
    
         
            +
            - lib/generators/lato_core/templates/crud_controller/app/controllers/lato/crud_controller.rb
         
     | 
| 
      
 423 
     | 
    
         
            +
            - lib/generators/lato_core/templates/crud_views/app/views/lato/crud/edit.html.erb
         
     | 
| 
      
 424 
     | 
    
         
            +
            - lib/generators/lato_core/templates/crud_views/app/views/lato/crud/index.html.erb
         
     | 
| 
      
 425 
     | 
    
         
            +
            - lib/generators/lato_core/templates/crud_views/app/views/lato/crud/new.html.erb
         
     | 
| 
      
 426 
     | 
    
         
            +
            - lib/generators/lato_core/templates/crud_views/app/views/lato/crud/shared/_form.html.erb
         
     | 
| 
      
 427 
     | 
    
         
            +
            - lib/generators/lato_core/templates/crud_views/app/views/lato/crud/show.html.erb
         
     | 
| 
      
 428 
     | 
    
         
            +
            - lib/generators/lato_core/templates/initializer/assets/images/logo.svg
         
     | 
| 
      
 429 
     | 
    
         
            +
            - lib/generators/lato_core/templates/initializer/assets/javascripts/application.js
         
     | 
| 
      
 430 
     | 
    
         
            +
            - lib/generators/lato_core/templates/initializer/assets/stylesheets/application.scss
         
     | 
| 
      
 431 
     | 
    
         
            +
            - lib/generators/lato_core/templates/initializer/assets/stylesheets/theme.scss.erb
         
     | 
| 
      
 432 
     | 
    
         
            +
            - lib/generators/lato_core/templates/initializer/controllers/application_controller.rb
         
     | 
| 
      
 433 
     | 
    
         
            +
            - lib/generators/lato_core/templates/initializer/views/application/index.html.erb
         
     | 
| 
       417 
434 
     | 
    
         
             
            - lib/lato_core.rb
         
     | 
| 
       418 
435 
     | 
    
         
             
            - lib/lato_core/cell.rb
         
     | 
| 
       419 
436 
     | 
    
         
             
            - lib/lato_core/engine.rb
         
     | 
| 
         @@ -1,67 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            var ElementsInitializer = (function () {
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              function modalCloseButton () {
         
     | 
| 
       4 
     | 
    
         
            -
                $('.elements-modal__close-button').click(function (e) {
         
     | 
| 
       5 
     | 
    
         
            -
                  var modal = $(this).parent()
         
     | 
| 
       6 
     | 
    
         
            -
                  var modalContent = modal.parent()
         
     | 
| 
       7 
     | 
    
         
            -
                  var modalContainer = modalContent.parent()
         
     | 
| 
       8 
     | 
    
         
            -
                  modalContainer.removeClass('elements-modal--active')
         
     | 
| 
       9 
     | 
    
         
            -
                  modalContainer.find('.elements-modal__modal').removeClass('elements-modal__modal--active')
         
     | 
| 
       10 
     | 
    
         
            -
                  $('body').removeClass('stop-scrolling')
         
     | 
| 
       11 
     | 
    
         
            -
                  e.preventDefault()
         
     | 
| 
       12 
     | 
    
         
            -
                })
         
     | 
| 
       13 
     | 
    
         
            -
              }
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              function flashCloseButton () {
         
     | 
| 
       16 
     | 
    
         
            -
                $('.elements-flash__close-button').click(function (e) {
         
     | 
| 
       17 
     | 
    
         
            -
                  var flash = $(this).parent()
         
     | 
| 
       18 
     | 
    
         
            -
                  flash.addClass('elements-flash--hidden')
         
     | 
| 
       19 
     | 
    
         
            -
                  e.preventDefault()
         
     | 
| 
       20 
     | 
    
         
            -
                })
         
     | 
| 
       21 
     | 
    
         
            -
              }
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
              function tableHeadFixed () {
         
     | 
| 
       24 
     | 
    
         
            -
                var table = $('.elements-table--fixed .elements-table__table')
         
     | 
| 
       25 
     | 
    
         
            -
                table.floatThead({
         
     | 
| 
       26 
     | 
    
         
            -
                  scrollContainer: function (table) {
         
     | 
| 
       27 
     | 
    
         
            -
                    return table.closest('.elements-table--fixed')
         
     | 
| 
       28 
     | 
    
         
            -
                  }
         
     | 
| 
       29 
     | 
    
         
            -
                })
         
     | 
| 
       30 
     | 
    
         
            -
              }
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              function buttonConfirmation () {
         
     | 
| 
       33 
     | 
    
         
            -
                var button = $('.elements-button__element')
         
     | 
| 
       34 
     | 
    
         
            -
                button.click(function (e) {
         
     | 
| 
       35 
     | 
    
         
            -
                  if ($(this).attr('data-confirmation') && $(this).attr('data-confirmation') === 'true') {
         
     | 
| 
       36 
     | 
    
         
            -
                    var confirmation = $(this).parent().find('.elements-button__confirmation')
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                    // remove old confirmations popup
         
     | 
| 
       39 
     | 
    
         
            -
                    $('.elements-button__element').parent().find('.elements-button__confirmation').removeClass('elements-button__confirmation--active')
         
     | 
| 
       40 
     | 
    
         
            -
                    // open confirmation popup
         
     | 
| 
       41 
     | 
    
         
            -
                    $(confirmation).addClass('elements-button__confirmation--active')
         
     | 
| 
       42 
     | 
    
         
            -
                    // manage delete click
         
     | 
| 
       43 
     | 
    
         
            -
                    $(confirmation).find('.button.popup.false').click(function(e) {
         
     | 
| 
       44 
     | 
    
         
            -
                      $(confirmation).removeClass('elements-button__confirmation--active')
         
     | 
| 
       45 
     | 
    
         
            -
                      e.preventDefault()
         
     | 
| 
       46 
     | 
    
         
            -
                    })
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
                    e.preventDefault()
         
     | 
| 
       49 
     | 
    
         
            -
                  }
         
     | 
| 
       50 
     | 
    
         
            -
                })
         
     | 
| 
       51 
     | 
    
         
            -
              }
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
              // Init:
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
              function init () {
         
     | 
| 
       56 
     | 
    
         
            -
                modalCloseButton()
         
     | 
| 
       57 
     | 
    
         
            -
                flashCloseButton()
         
     | 
| 
       58 
     | 
    
         
            -
                tableHeadFixed()
         
     | 
| 
       59 
     | 
    
         
            -
                buttonConfirmation()
         
     | 
| 
       60 
     | 
    
         
            -
              }
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
              return {
         
     | 
| 
       63 
     | 
    
         
            -
                init: init
         
     | 
| 
       64 
     | 
    
         
            -
              }
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
            })()
         
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
         @@ -1,249 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            var InputsInitializer = (function () {
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              // Init plugins:
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              function initializeSelect () {
         
     | 
| 
       6 
     | 
    
         
            -
                $('.inputs__select').each(function () {
         
     | 
| 
       7 
     | 
    
         
            -
                  $(this).selectize({
         
     | 
| 
       8 
     | 
    
         
            -
                    create: $(this).attr('data-create') === 'true',
         
     | 
| 
       9 
     | 
    
         
            -
                    maxItems: $(this).attr('data-multiple') === 'true' ? null : 1
         
     | 
| 
       10 
     | 
    
         
            -
                  })
         
     | 
| 
       11 
     | 
    
         
            -
                })
         
     | 
| 
       12 
     | 
    
         
            -
              }
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              function initializeDatetime () {
         
     | 
| 
       15 
     | 
    
         
            -
                $('.inputs__input--datetime').datetimepicker({
         
     | 
| 
       16 
     | 
    
         
            -
                  format: 'd/m/Y H:i'
         
     | 
| 
       17 
     | 
    
         
            -
                })
         
     | 
| 
       18 
     | 
    
         
            -
              }
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              function initializeDate () {
         
     | 
| 
       21 
     | 
    
         
            -
                $('.inputs__input--date').datetimepicker({
         
     | 
| 
       22 
     | 
    
         
            -
                  timepicker: false,
         
     | 
| 
       23 
     | 
    
         
            -
                  format: 'd/m/Y'
         
     | 
| 
       24 
     | 
    
         
            -
                })
         
     | 
| 
       25 
     | 
    
         
            -
              }
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
              function initializeEditor () {
         
     | 
| 
       28 
     | 
    
         
            -
                $('.inputs__editor').trumbowyg({
         
     | 
| 
       29 
     | 
    
         
            -
                  svgPath: $('#ddtj__editor-icons-path').html()
         
     | 
| 
       30 
     | 
    
         
            -
                });
         
     | 
| 
       31 
     | 
    
         
            -
              }
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
              function initializeDropzone () {
         
     | 
| 
       34 
     | 
    
         
            -
                $('.inputs__dropzone').each(function () {
         
     | 
| 
       35 
     | 
    
         
            -
                  var paramName = $(this).attr('data-param-name')
         
     | 
| 
       36 
     | 
    
         
            -
                  var maxFilesize = $(this).attr('data-max-size')
         
     | 
| 
       37 
     | 
    
         
            -
                  var maxFiles = $(this).attr('data.max-files')
         
     | 
| 
       38 
     | 
    
         
            -
                  $(this).dropzone({
         
     | 
| 
       39 
     | 
    
         
            -
                    paramName: paramName,
         
     | 
| 
       40 
     | 
    
         
            -
                    maxFilesize: maxFilesize,
         
     | 
| 
       41 
     | 
    
         
            -
                    maxFiles: maxFiles
         
     | 
| 
       42 
     | 
    
         
            -
                  })
         
     | 
| 
       43 
     | 
    
         
            -
                })
         
     | 
| 
       44 
     | 
    
         
            -
              }
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
              function initializeGeolocalizationMap () {
         
     | 
| 
       47 
     | 
    
         
            -
                $('.inputs-geolocalization').each(function () {
         
     | 
| 
       48 
     | 
    
         
            -
                  // find dom elements
         
     | 
| 
       49 
     | 
    
         
            -
                  var mapContainer = $(this).find('.inputs-geolocalization__map')[0]
         
     | 
| 
       50 
     | 
    
         
            -
                  var searchBoxInput = $(this).find('.inputs-geolocalization__search')[0]
         
     | 
| 
       51 
     | 
    
         
            -
                  var latInput = $(this).find('.inputs-geolocalization__input-lat')[0]
         
     | 
| 
       52 
     | 
    
         
            -
                  var lngInput = $(this).find('.inputs-geolocalization__input-lng')[0]
         
     | 
| 
       53 
     | 
    
         
            -
                  var addressInput = $(this).find('.inputs-geolocalization__input-address')[0]
         
     | 
| 
       54 
     | 
    
         
            -
                  // initialize map
         
     | 
| 
       55 
     | 
    
         
            -
                  var map = new google.maps.Map(mapContainer, {
         
     | 
| 
       56 
     | 
    
         
            -
                    zoom: parseInt($(mapContainer).attr('data-default-zoom')),
         
     | 
| 
       57 
     | 
    
         
            -
                    center: {
         
     | 
| 
       58 
     | 
    
         
            -
                      lat: parseFloat($(mapContainer).attr('data-default-lat')),
         
     | 
| 
       59 
     | 
    
         
            -
                      lng: parseFloat($(mapContainer).attr('data-default-lng'))
         
     | 
| 
       60 
     | 
    
         
            -
                    },
         
     | 
| 
       61 
     | 
    
         
            -
                    mapTypeId: $(mapContainer).attr('data-default-type'),
         
     | 
| 
       62 
     | 
    
         
            -
                    streetViewControl: false
         
     | 
| 
       63 
     | 
    
         
            -
                  })
         
     | 
| 
       64 
     | 
    
         
            -
                  // initialize markers
         
     | 
| 
       65 
     | 
    
         
            -
                  var markers = []
         
     | 
| 
       66 
     | 
    
         
            -
                  if ($(latInput).val() && $(lngInput).val()) {
         
     | 
| 
       67 
     | 
    
         
            -
                    markers.push(new google.maps.Marker({
         
     | 
| 
       68 
     | 
    
         
            -
                      map: map,
         
     | 
| 
       69 
     | 
    
         
            -
                      position: {lat: parseFloat($(latInput).val()), lng: parseFloat($(lngInput).val())},
         
     | 
| 
       70 
     | 
    
         
            -
                      title: $(addressInput).val()
         
     | 
| 
       71 
     | 
    
         
            -
                    }))
         
     | 
| 
       72 
     | 
    
         
            -
                  }
         
     | 
| 
       73 
     | 
    
         
            -
                  // initialize searchbox
         
     | 
| 
       74 
     | 
    
         
            -
                  var searchBox = new google.maps.places.SearchBox(searchBoxInput)
         
     | 
| 
       75 
     | 
    
         
            -
                  // sync map bounds with search
         
     | 
| 
       76 
     | 
    
         
            -
                  map.addListener('bounds_changed', function () {
         
     | 
| 
       77 
     | 
    
         
            -
                    searchBox.setBounds(map.getBounds())
         
     | 
| 
       78 
     | 
    
         
            -
                  })
         
     | 
| 
       79 
     | 
    
         
            -
                  // sync searchbox search with map and hidden inputs
         
     | 
| 
       80 
     | 
    
         
            -
                  searchBox.addListener('places_changed', function () {
         
     | 
| 
       81 
     | 
    
         
            -
                    // get search palces
         
     | 
| 
       82 
     | 
    
         
            -
                    var places = searchBox.getPlaces()
         
     | 
| 
       83 
     | 
    
         
            -
                    if (places.length === 0) { return }
         
     | 
| 
       84 
     | 
    
         
            -
                    // clean old markers
         
     | 
| 
       85 
     | 
    
         
            -
                    markers.forEach(function (marker) { marker.setMap(null) })
         
     | 
| 
       86 
     | 
    
         
            -
                    markers = []
         
     | 
| 
       87 
     | 
    
         
            -
                    // show first place on map
         
     | 
| 
       88 
     | 
    
         
            -
                    var bounds = new google.maps.LatLngBounds()
         
     | 
| 
       89 
     | 
    
         
            -
                    var place = places[0]
         
     | 
| 
       90 
     | 
    
         
            -
                    if (!place.geometry) { return }
         
     | 
| 
       91 
     | 
    
         
            -
                    markers.push(new google.maps.Marker({
         
     | 
| 
       92 
     | 
    
         
            -
                      map: map,
         
     | 
| 
       93 
     | 
    
         
            -
                      position: place.geometry.location,
         
     | 
| 
       94 
     | 
    
         
            -
                      title: place.formatted_address
         
     | 
| 
       95 
     | 
    
         
            -
                    }))
         
     | 
| 
       96 
     | 
    
         
            -
                    if (place.geometry.viewport) {
         
     | 
| 
       97 
     | 
    
         
            -
                      bounds.union(place.geometry.viewport)
         
     | 
| 
       98 
     | 
    
         
            -
                    } else {
         
     | 
| 
       99 
     | 
    
         
            -
                      bounds.extend(place.geometry.location)
         
     | 
| 
       100 
     | 
    
         
            -
                    }
         
     | 
| 
       101 
     | 
    
         
            -
                    map.fitBounds(bounds)
         
     | 
| 
       102 
     | 
    
         
            -
                    // save place info on hidden inputs
         
     | 
| 
       103 
     | 
    
         
            -
                    $(latInput).val(place.geometry.location.lat())
         
     | 
| 
       104 
     | 
    
         
            -
                    $(lngInput).val(place.geometry.location.lng())
         
     | 
| 
       105 
     | 
    
         
            -
                    $(addressInput).val(place.formatted_address)
         
     | 
| 
       106 
     | 
    
         
            -
                  })
         
     | 
| 
       107 
     | 
    
         
            -
                })
         
     | 
| 
       108 
     | 
    
         
            -
              }
         
     | 
| 
       109 
     | 
    
         
            -
             
     | 
| 
       110 
     | 
    
         
            -
              function initializeYoutube () {
         
     | 
| 
       111 
     | 
    
         
            -
                // manage input change
         
     | 
| 
       112 
     | 
    
         
            -
                $('.inputs-youtube .inputs__input').change(function () {
         
     | 
| 
       113 
     | 
    
         
            -
                  var inputVal = $(this).val()
         
     | 
| 
       114 
     | 
    
         
            -
                  var videoId = getId(inputVal)
         
     | 
| 
       115 
     | 
    
         
            -
                  var iframeMarkup = '<iframe src="//www.youtube.com/embed/' + videoId + '" frameborder="0" allowfullscreen></iframe>'
         
     | 
| 
       116 
     | 
    
         
            -
                  var videoContainer = $(this).parent().find('.inputs-youtube__video')
         
     | 
| 
       117 
     | 
    
         
            -
                  if (inputVal && inputVal !== '') {
         
     | 
| 
       118 
     | 
    
         
            -
                    $(videoContainer).html(iframeMarkup)
         
     | 
| 
       119 
     | 
    
         
            -
                    $(videoContainer).addClass('inputs-youtube__video--active')
         
     | 
| 
       120 
     | 
    
         
            -
                  } else {
         
     | 
| 
       121 
     | 
    
         
            -
                    $(videoContainer).html('')
         
     | 
| 
       122 
     | 
    
         
            -
                    $(videoContainer).removeClass('inputs-youtube__video--active')
         
     | 
| 
       123 
     | 
    
         
            -
                  }
         
     | 
| 
       124 
     | 
    
         
            -
                })
         
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
                // trigger initial change
         
     | 
| 
       127 
     | 
    
         
            -
                $('.inputs-youtube .inputs__input').trigger('change')
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
                // function to get youtube video
         
     | 
| 
       130 
     | 
    
         
            -
                function getId (url) {
         
     | 
| 
       131 
     | 
    
         
            -
                  var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/
         
     | 
| 
       132 
     | 
    
         
            -
                  var match = url.match(regExp)
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
                  if (match && match[2].length === 11) {
         
     | 
| 
       135 
     | 
    
         
            -
                    return match[2]
         
     | 
| 
       136 
     | 
    
         
            -
                  } else {
         
     | 
| 
       137 
     | 
    
         
            -
                    return 'error'
         
     | 
| 
       138 
     | 
    
         
            -
                  }
         
     | 
| 
       139 
     | 
    
         
            -
                }
         
     | 
| 
       140 
     | 
    
         
            -
              }
         
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
              // Validations:
         
     | 
| 
       143 
     | 
    
         
            -
             
     | 
| 
       144 
     | 
    
         
            -
              function formInputsValidator () {
         
     | 
| 
       145 
     | 
    
         
            -
                $('.inputs__form').submit(function (e) {
         
     | 
| 
       146 
     | 
    
         
            -
                  $(e.target).find('input').each(function () {
         
     | 
| 
       147 
     | 
    
         
            -
                    if (!validateInput(this)) { e.preventDefault() }
         
     | 
| 
       148 
     | 
    
         
            -
                  })
         
     | 
| 
       149 
     | 
    
         
            -
                  $(e.target).find('select').each(function () {
         
     | 
| 
       150 
     | 
    
         
            -
                    if (!validateInput(this)) { e.preventDefault() }
         
     | 
| 
       151 
     | 
    
         
            -
                  })
         
     | 
| 
       152 
     | 
    
         
            -
                  $(e.target).find('textarea').each(function () {
         
     | 
| 
       153 
     | 
    
         
            -
                    if (!validateInput(this)) { e.preventDefault() }
         
     | 
| 
       154 
     | 
    
         
            -
                  })
         
     | 
| 
       155 
     | 
    
         
            -
                })
         
     | 
| 
       156 
     | 
    
         
            -
              }
         
     | 
| 
       157 
     | 
    
         
            -
             
     | 
| 
       158 
     | 
    
         
            -
              function validateInput (input) {
         
     | 
| 
       159 
     | 
    
         
            -
                if ($(input).attr('data-required') && $(input).attr('data-required') === 'true') {
         
     | 
| 
       160 
     | 
    
         
            -
                  if (!validateInputRequired(input)) { return false }
         
     | 
| 
       161 
     | 
    
         
            -
                }
         
     | 
| 
       162 
     | 
    
         
            -
             
     | 
| 
       163 
     | 
    
         
            -
                if ($(input).attr('data-max-length')) {
         
     | 
| 
       164 
     | 
    
         
            -
                  if (!validateInputMaxLength(input)) { return false }
         
     | 
| 
       165 
     | 
    
         
            -
                }
         
     | 
| 
       166 
     | 
    
         
            -
             
     | 
| 
       167 
     | 
    
         
            -
                if ($(input).attr('data-min-length')) {
         
     | 
| 
       168 
     | 
    
         
            -
                  if (!validateInputMinLength(input)) { return false }
         
     | 
| 
       169 
     | 
    
         
            -
                }
         
     | 
| 
       170 
     | 
    
         
            -
             
     | 
| 
       171 
     | 
    
         
            -
                return true
         
     | 
| 
       172 
     | 
    
         
            -
              }
         
     | 
| 
       173 
     | 
    
         
            -
             
     | 
| 
       174 
     | 
    
         
            -
              function validateInputRequired (input) {
         
     | 
| 
       175 
     | 
    
         
            -
                if ($(input).is(':checkbox')) {
         
     | 
| 
       176 
     | 
    
         
            -
                  var inputChecked = $(input).is(':checked')
         
     | 
| 
       177 
     | 
    
         
            -
                  if (!inputChecked || inputChecked === null || inputChecked === false) {
         
     | 
| 
       178 
     | 
    
         
            -
                    addInputErrorStyle(input)
         
     | 
| 
       179 
     | 
    
         
            -
                    return false
         
     | 
| 
       180 
     | 
    
         
            -
                  }
         
     | 
| 
       181 
     | 
    
         
            -
                } else {
         
     | 
| 
       182 
     | 
    
         
            -
                  var inputValue = $(input).val()
         
     | 
| 
       183 
     | 
    
         
            -
                  if (inputValue === null || inputValue === '' || inputValue === ' ') {
         
     | 
| 
       184 
     | 
    
         
            -
                    addInputErrorStyle(input)
         
     | 
| 
       185 
     | 
    
         
            -
                    return false
         
     | 
| 
       186 
     | 
    
         
            -
                  }
         
     | 
| 
       187 
     | 
    
         
            -
                }
         
     | 
| 
       188 
     | 
    
         
            -
             
     | 
| 
       189 
     | 
    
         
            -
                return true
         
     | 
| 
       190 
     | 
    
         
            -
              }
         
     | 
| 
       191 
     | 
    
         
            -
             
     | 
| 
       192 
     | 
    
         
            -
              function validateInputMaxLength (input) {
         
     | 
| 
       193 
     | 
    
         
            -
                var inputValue = $(input).val()
         
     | 
| 
       194 
     | 
    
         
            -
                if (inputValue !== null && inputValue !== '' && inputValue.length > $(input).attr('data-max-length')) {
         
     | 
| 
       195 
     | 
    
         
            -
                  addInputErrorStyle(input)
         
     | 
| 
       196 
     | 
    
         
            -
                  return false
         
     | 
| 
       197 
     | 
    
         
            -
                }
         
     | 
| 
       198 
     | 
    
         
            -
             
     | 
| 
       199 
     | 
    
         
            -
                return true
         
     | 
| 
       200 
     | 
    
         
            -
              }
         
     | 
| 
       201 
     | 
    
         
            -
             
     | 
| 
       202 
     | 
    
         
            -
              function validateInputMinLength (input) {
         
     | 
| 
       203 
     | 
    
         
            -
                var inputValue = $(input).val()
         
     | 
| 
       204 
     | 
    
         
            -
                if (inputValue !== null && inputValue !== '' && inputValue.length < $(input).attr('data-min-length')) {
         
     | 
| 
       205 
     | 
    
         
            -
                  addInputErrorStyle(input)
         
     | 
| 
       206 
     | 
    
         
            -
                  return false
         
     | 
| 
       207 
     | 
    
         
            -
                }
         
     | 
| 
       208 
     | 
    
         
            -
             
     | 
| 
       209 
     | 
    
         
            -
                return true
         
     | 
| 
       210 
     | 
    
         
            -
              }
         
     | 
| 
       211 
     | 
    
         
            -
             
     | 
| 
       212 
     | 
    
         
            -
              function addInputErrorStyle (input) {
         
     | 
| 
       213 
     | 
    
         
            -
                if ($(input).is('select')) {
         
     | 
| 
       214 
     | 
    
         
            -
                  $(input).next().addClass('inputs__select--error')
         
     | 
| 
       215 
     | 
    
         
            -
                  $(input).next().click(function () {
         
     | 
| 
       216 
     | 
    
         
            -
                    $(this).removeClass('inputs__select--error')
         
     | 
| 
       217 
     | 
    
         
            -
                  })
         
     | 
| 
       218 
     | 
    
         
            -
                } else if ($(input).is('textarea')) {
         
     | 
| 
       219 
     | 
    
         
            -
                  $(input).addClass('inputs__textarea--error')
         
     | 
| 
       220 
     | 
    
         
            -
                  $(input).click(function () {
         
     | 
| 
       221 
     | 
    
         
            -
                    $(this).removeClass('inputs__textarea--error')
         
     | 
| 
       222 
     | 
    
         
            -
                  })
         
     | 
| 
       223 
     | 
    
         
            -
                } else {
         
     | 
| 
       224 
     | 
    
         
            -
                  $(input).addClass('inputs__input--error')
         
     | 
| 
       225 
     | 
    
         
            -
                  $(input).focus(function () {
         
     | 
| 
       226 
     | 
    
         
            -
                    $(this).removeClass('inputs__input--error')
         
     | 
| 
       227 
     | 
    
         
            -
                  })
         
     | 
| 
       228 
     | 
    
         
            -
                }
         
     | 
| 
       229 
     | 
    
         
            -
              }
         
     | 
| 
       230 
     | 
    
         
            -
             
     | 
| 
       231 
     | 
    
         
            -
              // Init:
         
     | 
| 
       232 
     | 
    
         
            -
              function init () {
         
     | 
| 
       233 
     | 
    
         
            -
                initializeSelect()
         
     | 
| 
       234 
     | 
    
         
            -
                initializeDatetime()
         
     | 
| 
       235 
     | 
    
         
            -
                initializeDate()
         
     | 
| 
       236 
     | 
    
         
            -
                initializeEditor()
         
     | 
| 
       237 
     | 
    
         
            -
                initializeDropzone()
         
     | 
| 
       238 
     | 
    
         
            -
                initializeGeolocalizationMap()
         
     | 
| 
       239 
     | 
    
         
            -
                initializeYoutube()
         
     | 
| 
       240 
     | 
    
         
            -
                formInputsValidator()
         
     | 
| 
       241 
     | 
    
         
            -
             
     | 
| 
       242 
     | 
    
         
            -
                SortableManager.init()
         
     | 
| 
       243 
     | 
    
         
            -
              }
         
     | 
| 
       244 
     | 
    
         
            -
             
     | 
| 
       245 
     | 
    
         
            -
              return {
         
     | 
| 
       246 
     | 
    
         
            -
                init: init
         
     | 
| 
       247 
     | 
    
         
            -
              }
         
     | 
| 
       248 
     | 
    
         
            -
             
     | 
| 
       249 
     | 
    
         
            -
            })()
         
     |