easycomments 1.0.3 → 1.0.4
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 +13 -5
 - data/_config.yml +7 -2
 - data/dashboard.rb +2 -2
 - data/easycomments.gemspec +2 -2
 - data/ec.rb +1 -1
 - data/lib/easycomments/ec_configuration.rb +7 -1
 - data/lib/easycomments/ec_dashboard_model.rb +10 -7
 - data/lib/easycomments/ec_model.rb +16 -4
 - data/lib/easycomments/ec_pagination.rb +20 -0
 - data/lib/easycomments.rb +3 -1
 - data/public/elements/ec-dashboard/ec-dashboard.html +97 -10
 - data/public/elements/ec-login/ec-login.html +78 -0
 - data/public/polymer-loader.html +1 -0
 - data/public/polymer-loader.vulcanized.html +1 -1
 - data/spec/ec/ec_dashboard_spec.rb +22 -5
 - data/spec/ec/ec_spec.rb +38 -3
 - data/spec/spec_helper.rb +2 -2
 - data/views/index.html +1 -79
 - metadata +10 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3769d7478cdda520b182646690a420544f484241
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 741d5355bf84ff27c09c3ef9f672a25e9472d24a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 608099e88c4eac8f4b7b035480fe64d6cb88e94d2aebd59a20fdc80100019ab3656b9ea47dcac7630095f2fb792e6fcc312f9340fee5bcd099d203bc5ebbebba
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 3e91047ba20119846abc20fa345c79f70e558926216519198c4b402d36376d15811299cc6baa55644fc5ce21ced3ed4456b9dccdda13cb61df018f3a22d32f06
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -18,8 +18,11 @@ ec install 
     | 
|
| 
       18 
18 
     | 
    
         
             
            ```
         
     | 
| 
       19 
19 
     | 
    
         
             
            (pass the --dev flag if you also want the spec suite)  
         
     | 
| 
       20 
20 
     | 
    
         
             
            Then
         
     | 
| 
       21 
     | 
    
         
            -
            ``` 
     | 
| 
       22 
     | 
    
         
            -
            bundle install
         
     | 
| 
      
 21 
     | 
    
         
            +
            ```
         
     | 
| 
      
 22 
     | 
    
         
            +
            bundle install --without test development  
         
     | 
| 
      
 23 
     | 
    
         
            +
            or just  
         
     | 
| 
      
 24 
     | 
    
         
            +
            bundle install  
         
     | 
| 
      
 25 
     | 
    
         
            +
            if --dev is on
         
     | 
| 
       23 
26 
     | 
    
         
             
            ```
         
     | 
| 
       24 
27 
     | 
    
         
             
            and you are ready.
         
     | 
| 
       25 
28 
     | 
    
         
             
            ##Configuring
         
     | 
| 
         @@ -38,7 +41,7 @@ to add your user. 
     | 
|
| 
       38 
41 
     | 
    
         
             
            ##Endpoints
         
     | 
| 
       39 
42 
     | 
    
         
             
            EC has one endpoint for posting a new comment and one for retrieving a comment list.
         
     | 
| 
       40 
43 
     | 
    
         
             
            ```
         
     | 
| 
       41 
     | 
    
         
            -
            GET /comments, with a 'post' parameter 
         
     | 
| 
      
 44 
     | 
    
         
            +
            GET /comments, with a 'post' parameter and an optional 'page' parameter if you have pagination enabled.
         
     | 
| 
       42 
45 
     | 
    
         
             
            ```
         
     | 
| 
       43 
46 
     | 
    
         
             
            The 'post' parameter simply serves as a namespace to group comments for retrieval,
         
     | 
| 
       44 
47 
     | 
    
         
             
            it can be a blog post title, an url or something more sophisticated, it's up to you.
         
     | 
| 
         @@ -77,8 +80,14 @@ allow_cors: false 
     | 
|
| 
       77 
80 
     | 
    
         
             
            #see available formats here https://github.com/cyu/rack-cors
         
     | 
| 
       78 
81 
     | 
    
         
             
            cors_origin: "*"  
         
     | 
| 
       79 
82 
     | 
    
         | 
| 
       80 
     | 
    
         
            -
            #set to false to not automatically escape html in comment  
     | 
| 
      
 83 
     | 
    
         
            +
            #set to false to not automatically escape html in comment bodies
         
     | 
| 
       81 
84 
     | 
    
         
             
            auto_escape_html: true
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            #set to true to have pagination support in comment retrieval  
         
     | 
| 
      
 87 
     | 
    
         
            +
            paginate: false  
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
            #how many comments to return per page if paginate is true  
         
     | 
| 
      
 90 
     | 
    
         
            +
            comments_per_page: 10
         
     | 
| 
       82 
91 
     | 
    
         
             
            ```
         
     | 
| 
       83 
92 
     | 
    
         | 
| 
       84 
93 
     | 
    
         
             
            ## Updating
         
     | 
| 
         @@ -93,7 +102,6 @@ It will recopy all the files but keeps your _config.yml and Gemfile. 
     | 
|
| 
       93 
102 
     | 
    
         
             
            by hand since it also bcrypts your passwords!
         
     | 
| 
       94 
103 
     | 
    
         | 
| 
       95 
104 
     | 
    
         
             
            ##TODO:
         
     | 
| 
       96 
     | 
    
         
            -
            * pagination in GET /comments  
         
     | 
| 
       97 
105 
     | 
    
         
             
            * markdown support  
         
     | 
| 
       98 
106 
     | 
    
         
             
            * dynamic fields in POST /comment  
         
     | 
| 
       99 
107 
     | 
    
         | 
    
        data/_config.yml
    CHANGED
    
    | 
         @@ -1,12 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
            connection:  
     | 
| 
      
 2 
     | 
    
         
            +
            connection: sqlite://blog.db
         
     | 
| 
       3 
3 
     | 
    
         
             
            approve_by_default: false
         
     | 
| 
       4 
4 
     | 
    
         
             
            allow_anonymous_post: false
         
     | 
| 
       5 
5 
     | 
    
         
             
            timestamp_format: "%d/%m/%Y - %H:%M"
         
     | 
| 
       6 
6 
     | 
    
         
             
            allow_cors: false
         
     | 
| 
       7 
7 
     | 
    
         
             
            cors_origin: "*"
         
     | 
| 
       8 
8 
     | 
    
         
             
            auto_escape_html: true
         
     | 
| 
       9 
     | 
    
         
            -
            : 
     | 
| 
      
 9 
     | 
    
         
            +
            paginate: false
         
     | 
| 
      
 10 
     | 
    
         
            +
            comments_per_page: 10
         
     | 
| 
       10 
11 
     | 
    
         
             
            #
         
     | 
| 
       11 
12 
     | 
    
         
             
            ##connection : database connection url to be passed to sequel's connect method.
         
     | 
| 
       12 
13 
     | 
    
         
             
            ##check http://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html
         
     | 
| 
         @@ -25,6 +26,10 @@ auto_escape_html: true 
     | 
|
| 
       25 
26 
     | 
    
         
             
            #
         
     | 
| 
       26 
27 
     | 
    
         
             
            ##auto_escape_html : automatically escape html in comment bodys
         
     | 
| 
       27 
28 
     | 
    
         
             
            #
         
     | 
| 
      
 29 
     | 
    
         
            +
            ##paginate : set to true to have pagination support in comment retrieval
         
     | 
| 
      
 30 
     | 
    
         
            +
            #
         
     | 
| 
      
 31 
     | 
    
         
            +
            ##comments_per_page : how many comments to return per page if paginate is true
         
     | 
| 
      
 32 
     | 
    
         
            +
            #
         
     | 
| 
       28 
33 
     | 
    
         
             
            ##users : do not edit this by hand use 'rake adduser' instead.
         
     | 
| 
       29 
34 
     | 
    
         
             
            #
         
     | 
| 
       30 
35 
     | 
    
         
             
            ##if you edit this file after 'rake init' use 'rake update' for the changes to take effect.
         
     | 
    
        data/dashboard.rb
    CHANGED
    
    | 
         @@ -19,7 +19,7 @@ class ECDashboard < Sinatra::Application 
     | 
|
| 
       19 
19 
     | 
    
         
             
              end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              get "/comments" do
         
     | 
| 
       22 
     | 
    
         
            -
                get_comments(params[:post])
         
     | 
| 
      
 22 
     | 
    
         
            +
                get_comments(params[:post], params[:page])
         
     | 
| 
       23 
23 
     | 
    
         
             
              end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
              get '/get_all_posts' do
         
     | 
| 
         @@ -47,7 +47,7 @@ class ECDashboard < Sinatra::Application 
     | 
|
| 
       47 
47 
     | 
    
         
             
              end
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
              get '/get_pending_comments' do
         
     | 
| 
       50 
     | 
    
         
            -
                get_pending_comments(params[:post])
         
     | 
| 
      
 50 
     | 
    
         
            +
                get_pending_comments(params[:post], params[:page])
         
     | 
| 
       51 
51 
     | 
    
         
             
              end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
              post '/ignore_comment' do
         
     | 
    
        data/easycomments.gemspec
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       2 
2 
     | 
    
         
             
              s.name        = 'easycomments'
         
     | 
| 
       3 
     | 
    
         
            -
              s.version     = '1.0. 
     | 
| 
       4 
     | 
    
         
            -
              s.date        = '2015-03 
     | 
| 
      
 3 
     | 
    
         
            +
              s.version     = '1.0.4'
         
     | 
| 
      
 4 
     | 
    
         
            +
              s.date        = '2015-04-03'
         
     | 
| 
       5 
5 
     | 
    
         
             
              s.summary     = "Simple and easy to use comment system"
         
     | 
| 
       6 
6 
     | 
    
         
             
              s.description = <<EOF
         
     | 
| 
       7 
7 
     | 
    
         
             
            EasyComments(EC) is an easy to use comment system with a simple api
         
     | 
    
        data/ec.rb
    CHANGED
    
    
| 
         @@ -14,6 +14,8 @@ module Configuration 
     | 
|
| 
       14 
14 
     | 
    
         
             
              ALLOW_CORS = CONFIG["allow_cors"]
         
     | 
| 
       15 
15 
     | 
    
         
             
              CORS_ORIGIN = CONFIG["cors_origin"]
         
     | 
| 
       16 
16 
     | 
    
         
             
              AUTO_ESCAPE_HTML = CONFIG["auto_escape_html"]
         
     | 
| 
      
 17 
     | 
    
         
            +
              PAGINATE = CONFIG["paginate"]
         
     | 
| 
      
 18 
     | 
    
         
            +
              COMMENTS_PER_PAGE = CONFIG["comments_per_page"].to_i
         
     | 
| 
       17 
19 
     | 
    
         | 
| 
       18 
20 
     | 
    
         
             
            #wall of help text to be added in _config.yml
         
     | 
| 
       19 
21 
     | 
    
         
             
              def comment_wall
         
     | 
| 
         @@ -34,7 +36,11 @@ comments = <<COMMENTS 
     | 
|
| 
       34 
36 
     | 
    
         
             
            #
         
     | 
| 
       35 
37 
     | 
    
         
             
            ##cors_origin : see available formats here https://github.com/cyu/rack-cors
         
     | 
| 
       36 
38 
     | 
    
         
             
            #
         
     | 
| 
       37 
     | 
    
         
            -
            ##auto_escape_html : automatically escape html in comment  
     | 
| 
      
 39 
     | 
    
         
            +
            ##auto_escape_html : automatically escape html in comment bodies
         
     | 
| 
      
 40 
     | 
    
         
            +
            #
         
     | 
| 
      
 41 
     | 
    
         
            +
            ##paginate : set to true to have pagination support in comment retrieval
         
     | 
| 
      
 42 
     | 
    
         
            +
            #
         
     | 
| 
      
 43 
     | 
    
         
            +
            ##comments_per_page : how many comments to return per page if paginate is true
         
     | 
| 
       38 
44 
     | 
    
         
             
            #
         
     | 
| 
       39 
45 
     | 
    
         
             
            ##users : do not edit this by hand use 'rake adduser' instead.
         
     | 
| 
       40 
46 
     | 
    
         
             
            #
         
     | 
| 
         @@ -2,11 +2,13 @@ require_relative "../easycomments.rb" 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            module ECDashboardModel
         
     | 
| 
       4 
4 
     | 
    
         
             
              extend self
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
              include Pagination
         
     | 
| 
      
 6 
     | 
    
         
            +
              
         
     | 
| 
      
 7 
     | 
    
         
            +
              def get_comments(post, page_num)
         
     | 
| 
      
 8 
     | 
    
         
            +
                comments = DB[:comments].where(:post => post).reverse(Sequel.asc(:timestamp)).page(page_num).all
         
     | 
| 
      
 9 
     | 
    
         
            +
                count =  DB[:comments].where(:post => post).page(page_num).page_count
         
     | 
| 
       8 
10 
     | 
    
         
             
                comments = comments.each{|comment| comment[:timestamp] = comment[:timestamp].strftime(TIMESTAMP_FORMAT)}
         
     | 
| 
       9 
     | 
    
         
            -
                MultiJson.dump( 
     | 
| 
      
 11 
     | 
    
         
            +
                MultiJson.dump(:comments => comments, :page_count => count)
         
     | 
| 
       10 
12 
     | 
    
         
             
              end
         
     | 
| 
       11 
13 
     | 
    
         | 
| 
       12 
14 
     | 
    
         
             
              def get_all_posts
         
     | 
| 
         @@ -43,10 +45,11 @@ module ECDashboardModel 
     | 
|
| 
       43 
45 
     | 
    
         
             
                MultiJson.dump({:pending => pending})
         
     | 
| 
       44 
46 
     | 
    
         
             
              end
         
     | 
| 
       45 
47 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
              def get_pending_comments(post)
         
     | 
| 
       47 
     | 
    
         
            -
                comments = DB[:comments].where(:post => post, :action_taken => false). 
     | 
| 
      
 48 
     | 
    
         
            +
              def get_pending_comments(post, page_num)
         
     | 
| 
      
 49 
     | 
    
         
            +
                comments = DB[:comments].where(:post => post, :action_taken => false).reverse(Sequel.asc(:timestamp)).page(page_num).all
         
     | 
| 
      
 50 
     | 
    
         
            +
                count =  DB[:comments].where(:post => post, :action_taken => false).page(page_num).page_count
         
     | 
| 
       48 
51 
     | 
    
         
             
                comments = comments.each{|comment| comment[:timestamp] = comment[:timestamp].strftime(TIMESTAMP_FORMAT)}
         
     | 
| 
       49 
     | 
    
         
            -
                MultiJson.dump({:comments => comments})
         
     | 
| 
      
 52 
     | 
    
         
            +
                MultiJson.dump({:comments => comments, :page_count => count})
         
     | 
| 
       50 
53 
     | 
    
         
             
              end
         
     | 
| 
       51 
54 
     | 
    
         | 
| 
       52 
55 
     | 
    
         
             
              def ignore_comment(id)
         
     | 
| 
         @@ -3,6 +3,7 @@ require_relative "../easycomments.rb" 
     | 
|
| 
       3 
3 
     | 
    
         
             
            module ECModel
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              extend self
         
     | 
| 
      
 6 
     | 
    
         
            +
              include Pagination if PAGINATE
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
8 
     | 
    
         
             
              def post_comment(comment)
         
     | 
| 
       8 
9 
     | 
    
         
             
                if comment[:body] != "undefined" && comment[:body] != ""
         
     | 
| 
         @@ -20,10 +21,20 @@ module ECModel 
     | 
|
| 
       20 
21 
     | 
    
         
             
                end
         
     | 
| 
       21 
22 
     | 
    
         
             
              end
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
              def get_comments(post)
         
     | 
| 
       24 
     | 
    
         
            -
                 
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 24 
     | 
    
         
            +
              def get_comments(post, page_num)
         
     | 
| 
      
 25 
     | 
    
         
            +
                if PAGINATE
         
     | 
| 
      
 26 
     | 
    
         
            +
                  comments = DB[:comments].where(:post => post, :approved => true).reverse(Sequel.asc(:timestamp)).page(page_num).all
         
     | 
| 
      
 27 
     | 
    
         
            +
                  count =  DB[:comments].where(:post => post).page(page_num).page_count
         
     | 
| 
      
 28 
     | 
    
         
            +
                  comments = comments.each{|comment| comment[:timestamp] = comment[:timestamp].strftime(TIMESTAMP_FORMAT)}
         
     | 
| 
      
 29 
     | 
    
         
            +
                  page_num = page_num.to_i
         
     | 
| 
      
 30 
     | 
    
         
            +
                  page_num = 1 if page_num < 1
         
     | 
| 
      
 31 
     | 
    
         
            +
                  response = {:comments => comments, :page => page_num.to_i, :total_pages => count}    
         
     | 
| 
      
 32 
     | 
    
         
            +
                else
         
     | 
| 
      
 33 
     | 
    
         
            +
                  comments = DB[:comments].where(:post => post, :approved => true).reverse(Sequel.asc(:timestamp)).all
         
     | 
| 
      
 34 
     | 
    
         
            +
                  comments = comments.each{|comment| comment[:timestamp] = comment[:timestamp].strftime(TIMESTAMP_FORMAT)}
         
     | 
| 
      
 35 
     | 
    
         
            +
                  response = {:comments => comments}
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
                MultiJson.dump(response)
         
     | 
| 
       27 
38 
     | 
    
         
             
              end
         
     | 
| 
       28 
39 
     | 
    
         | 
| 
       29 
40 
     | 
    
         
             
              private
         
     | 
| 
         @@ -44,4 +55,5 @@ module ECModel 
     | 
|
| 
       44 
55 
     | 
    
         
             
                                )   
         
     | 
| 
       45 
56 
     | 
    
         
             
                MultiJson.dump({:status => "New comment posted."})
         
     | 
| 
       46 
57 
     | 
    
         
             
              end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
       47 
59 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,20 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Pagination
         
     | 
| 
      
 2 
     | 
    
         
            +
              extend self
         
     | 
| 
      
 3 
     | 
    
         
            +
              
         
     | 
| 
      
 4 
     | 
    
         
            +
              class Sequel::Model
         
     | 
| 
      
 5 
     | 
    
         
            +
                def self.page(page, per_page=COMMENTS_PER_PAGE || 10, *args)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  page = page.to_i
         
     | 
| 
      
 7 
     | 
    
         
            +
                  page = 1 if page < 1
         
     | 
| 
      
 8 
     | 
    
         
            +
                  dataset.paginate(page, per_page, *args)
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
               
         
     | 
| 
      
 12 
     | 
    
         
            +
              class Sequel::Dataset
         
     | 
| 
      
 13 
     | 
    
         
            +
                def page(page, per_page=COMMENTS_PER_PAGE || 10, *args)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  page = page.to_i
         
     | 
| 
      
 15 
     | 
    
         
            +
                  page = 1 if page < 1
         
     | 
| 
      
 16 
     | 
    
         
            +
                  paginate(page, per_page, *args)
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/easycomments.rb
    CHANGED
    
    | 
         @@ -6,9 +6,11 @@ require 'rack/utils' 
     | 
|
| 
       6 
6 
     | 
    
         
             
            require 'rack/protection'
         
     | 
| 
       7 
7 
     | 
    
         
             
            require 'bcrypt'
         
     | 
| 
       8 
8 
     | 
    
         
             
            require_relative "easycomments/ec_configuration.rb"
         
     | 
| 
      
 9 
     | 
    
         
            +
            require_relative "easycomments/ec_pagination.rb"
         
     | 
| 
       9 
10 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            VERSION = "1.0. 
     | 
| 
      
 11 
     | 
    
         
            +
            VERSION = "1.0.4"
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
            include Configuration
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
15 
     | 
    
         
             
            DB = Sequel.connect(CONNECTION)
         
     | 
| 
      
 16 
     | 
    
         
            +
            DB.extension(:pagination)
         
     | 
| 
         @@ -81,6 +81,20 @@ 
     | 
|
| 
       81 
81 
     | 
    
         
             
                    text-decoration: none !important;
         
     | 
| 
       82 
82 
     | 
    
         
             
                    color: #616161;
         
     | 
| 
       83 
83 
     | 
    
         
             
                  }
         
     | 
| 
      
 84 
     | 
    
         
            +
                  .pagination{
         
     | 
| 
      
 85 
     | 
    
         
            +
                    padding-top: 20px;
         
     | 
| 
      
 86 
     | 
    
         
            +
                    padding-bottom: 20px;
         
     | 
| 
      
 87 
     | 
    
         
            +
                  }
         
     | 
| 
      
 88 
     | 
    
         
            +
                  .pg_input {
         
     | 
| 
      
 89 
     | 
    
         
            +
                     width: 83px;
         
     | 
| 
      
 90 
     | 
    
         
            +
                  }
         
     | 
| 
      
 91 
     | 
    
         
            +
                  .pg_btn::shadow #ripple {
         
     | 
| 
      
 92 
     | 
    
         
            +
                    color: #FFA726;
         
     | 
| 
      
 93 
     | 
    
         
            +
                  }
         
     | 
| 
      
 94 
     | 
    
         
            +
                  paper-input-decorator /deep/ .focused-underline {
         
     | 
| 
      
 95 
     | 
    
         
            +
                    /* line color when the input is focused */
         
     | 
| 
      
 96 
     | 
    
         
            +
                    background-color: #FF9800;
         
     | 
| 
      
 97 
     | 
    
         
            +
                  }
         
     | 
| 
       84 
98 
     | 
    
         
             
                </style>
         
     | 
| 
       85 
99 
     | 
    
         
             
                <core-ajax
         
     | 
| 
       86 
100 
     | 
    
         
             
                  auto
         
     | 
| 
         @@ -106,16 +120,18 @@ 
     | 
|
| 
       106 
120 
     | 
    
         
             
                <core-ajax
         
     | 
| 
       107 
121 
     | 
    
         
             
                  id="get_all_comments"
         
     | 
| 
       108 
122 
     | 
    
         
             
                  url="/dashboard/comments"
         
     | 
| 
       109 
     | 
    
         
            -
                  params='{"post":"{{post_global}}"}'
         
     | 
| 
      
 123 
     | 
    
         
            +
                  params='{"post":"{{post_global}}", "page":"{{current_page}}"}'
         
     | 
| 
       110 
124 
     | 
    
         
             
                  handleAs="json"
         
     | 
| 
       111 
     | 
    
         
            -
                  response="{{comments}}" 
     | 
| 
      
 125 
     | 
    
         
            +
                  response="{{comments}}"
         
     | 
| 
      
 126 
     | 
    
         
            +
                  on-core-complete="{{pageRange}}">
         
     | 
| 
       112 
127 
     | 
    
         
             
                </core-ajax>
         
     | 
| 
       113 
128 
     | 
    
         
             
                <core-ajax
         
     | 
| 
       114 
129 
     | 
    
         
             
                  id="get_pending_comments"
         
     | 
| 
       115 
130 
     | 
    
         
             
                  url="/dashboard/get_pending_comments"
         
     | 
| 
       116 
     | 
    
         
            -
                  params='{"post":"{{post_global}}"}'
         
     | 
| 
      
 131 
     | 
    
         
            +
                  params='{"post":"{{post_global}}", "page":"{{current_page}}"}'
         
     | 
| 
       117 
132 
     | 
    
         
             
                  handleAs="json"
         
     | 
| 
       118 
     | 
    
         
            -
                  response="{{comments}}" 
     | 
| 
      
 133 
     | 
    
         
            +
                  response="{{comments}}"
         
     | 
| 
      
 134 
     | 
    
         
            +
                  on-core-complete="{{pageRange}}">
         
     | 
| 
       119 
135 
     | 
    
         
             
                </core-ajax>
         
     | 
| 
       120 
136 
     | 
    
         
             
                <core-ajax
         
     | 
| 
       121 
137 
     | 
    
         
             
                  id="edit_comment"
         
     | 
| 
         @@ -157,8 +173,8 @@ 
     | 
|
| 
       157 
173 
     | 
    
         
             
                    <core-menu>
         
     | 
| 
       158 
174 
     | 
    
         
             
                      <section is="auto-binding">
         
     | 
| 
       159 
175 
     | 
    
         
             
                        <paper-tabs selected="{{selected}}">
         
     | 
| 
       160 
     | 
    
         
            -
                          <paper-tab>Pending  <span class="pending_number">{{total_pending.pending}}</span></paper-tab>
         
     | 
| 
       161 
     | 
    
         
            -
                          <paper-tab>All</paper-tab>
         
     | 
| 
      
 176 
     | 
    
         
            +
                          <paper-tab on-click="{{refreshPosts}}">Pending  <span class="pending_number">{{total_pending.pending}}</span></paper-tab>
         
     | 
| 
      
 177 
     | 
    
         
            +
                          <paper-tab on-click="{{refreshPosts}}">All</paper-tab>
         
     | 
| 
       162 
178 
     | 
    
         
             
                        </paper-tabs>
         
     | 
| 
       163 
179 
     | 
    
         
             
                        <core-pages selected="{{selected}}">
         
     | 
| 
       164 
180 
     | 
    
         
             
                          <div>
         
     | 
| 
         @@ -180,7 +196,7 @@ 
     | 
|
| 
       180 
196 
     | 
    
         
             
                  <div tool id="title">{{post_title}}</div>
         
     | 
| 
       181 
197 
     | 
    
         
             
                  <div id ="content" fit>
         
     | 
| 
       182 
198 
     | 
    
         
             
                    <template repeat="{{comment in comments.comments}}">
         
     | 
| 
       183 
     | 
    
         
            -
                      <paper-shadow>
         
     | 
| 
      
 199 
     | 
    
         
            +
                      <paper-shadow id="comment_{{comment.id}}">
         
     | 
| 
       184 
200 
     | 
    
         
             
                        <p id="comment-title">{{comment.name}} - {{comment.email}} - {{comment.timestamp}}</p>
         
     | 
| 
       185 
201 
     | 
    
         
             
                        <paper-autogrow-textarea id="a1">
         
     | 
| 
       186 
202 
     | 
    
         
             
                          <textarea value="{{comment.body}}" rows="5"></textarea>
         
     | 
| 
         @@ -198,6 +214,16 @@ 
     | 
|
| 
       198 
214 
     | 
    
         
             
                        </div>
         
     | 
| 
       199 
215 
     | 
    
         
             
                      </paper-shadow>
         
     | 
| 
       200 
216 
     | 
    
         
             
                    </template>
         
     | 
| 
      
 217 
     | 
    
         
            +
                    <template if="{{comments.page_count > 1}}">
         
     | 
| 
      
 218 
     | 
    
         
            +
                      <paper-shadow class="pagination" horizontal center-justified layout>
         
     | 
| 
      
 219 
     | 
    
         
            +
                          <paper-button class="pg_btn" on-click="{{firstPage}}">First</paper-button>
         
     | 
| 
      
 220 
     | 
    
         
            +
                            <paper-button disabled='{{current_page <= 1}}' class="pg_btn" on-click="{{prevPage}}">Previous</paper-button>
         
     | 
| 
      
 221 
     | 
    
         
            +
                            <paper-input-decorator class="pg_input"><input is="core-input" value="{{page_input}}"></paper-input-decorator>
         
     | 
| 
      
 222 
     | 
    
         
            +
                            <label class="pg_btn"><br>of {{comments.page_count}}</label>
         
     | 
| 
      
 223 
     | 
    
         
            +
                            <paper-button  disabled='{{current_page >= comments.total_pages}}' on-click="{{nextPage}}" class="pg_btn">Next</paper-button>
         
     | 
| 
      
 224 
     | 
    
         
            +
                          <paper-button class="pg_btn" on-click="{{lastPage}}">Last</paper-button>
         
     | 
| 
      
 225 
     | 
    
         
            +
                      </paper-shadow>
         
     | 
| 
      
 226 
     | 
    
         
            +
                    </template>
         
     | 
| 
       201 
227 
     | 
    
         
             
                  </div>
         
     | 
| 
       202 
228 
     | 
    
         
             
                </core-scaffold>
         
     | 
| 
       203 
229 
     | 
    
         
             
              </template>
         
     | 
| 
         @@ -208,12 +234,16 @@ 
     | 
|
| 
       208 
234 
     | 
    
         
             
                      var p = e.target.templateInstance.model.post;
         
     | 
| 
       209 
235 
     | 
    
         
             
                      this.post_title = p;
         
     | 
| 
       210 
236 
     | 
    
         
             
                      this.post_global = p;
         
     | 
| 
      
 237 
     | 
    
         
            +
                      this.current_page = 1;
         
     | 
| 
      
 238 
     | 
    
         
            +
                      this.page_input = this.current_page;
         
     | 
| 
       211 
239 
     | 
    
         
             
                      this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
       212 
240 
     | 
    
         
             
                    },
         
     | 
| 
       213 
241 
     | 
    
         
             
                    getPendingComments: function(e, detail, sender){
         
     | 
| 
       214 
242 
     | 
    
         
             
                      var p = e.target.templateInstance.model.post.post;
         
     | 
| 
       215 
243 
     | 
    
         
             
                      this.post_title = p;
         
     | 
| 
       216 
244 
     | 
    
         
             
                      this.post_global = p;
         
     | 
| 
      
 245 
     | 
    
         
            +
                      this.current_page = 1;
         
     | 
| 
      
 246 
     | 
    
         
            +
                      this.page_input = this.current_page;
         
     | 
| 
       217 
247 
     | 
    
         
             
                      this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
       218 
248 
     | 
    
         
             
                    },
         
     | 
| 
       219 
249 
     | 
    
         
             
                    editComment: function(e, detail, sender){
         
     | 
| 
         @@ -230,10 +260,13 @@ 
     | 
|
| 
       230 
260 
     | 
    
         
             
                      this.comment_id = d;
         
     | 
| 
       231 
261 
     | 
    
         
             
                      this.shadowRoot.querySelector("#remove_comment").go();
         
     | 
| 
       232 
262 
     | 
    
         
             
                      //refresh comment list
         
     | 
| 
       233 
     | 
    
         
            -
                      this. 
     | 
| 
      
 263 
     | 
    
         
            +
                      if (this.selected == "0") {
         
     | 
| 
      
 264 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 265 
     | 
    
         
            +
                      }else {
         
     | 
| 
      
 266 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 267 
     | 
    
         
            +
                      }
         
     | 
| 
       234 
268 
     | 
    
         
             
                      //refresh post list
         
     | 
| 
       235 
269 
     | 
    
         
             
                      this.refreshPosts();
         
     | 
| 
       236 
     | 
    
         
            -
                      //na vgainei kai to title panw panw
         
     | 
| 
       237 
270 
     | 
    
         
             
                    },
         
     | 
| 
       238 
271 
     | 
    
         
             
                    approveComment: function(e, detail, sender){
         
     | 
| 
       239 
272 
     | 
    
         
             
                      var d = e.target.templateInstance.model.comment.id;
         
     | 
| 
         @@ -249,7 +282,11 @@ 
     | 
|
| 
       249 
282 
     | 
    
         
             
                      //refresh post list
         
     | 
| 
       250 
283 
     | 
    
         
             
                      this.refreshPosts();
         
     | 
| 
       251 
284 
     | 
    
         
             
                      //refresh comment list
         
     | 
| 
       252 
     | 
    
         
            -
                      this. 
     | 
| 
      
 285 
     | 
    
         
            +
                      if (this.selected == "0") {
         
     | 
| 
      
 286 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 287 
     | 
    
         
            +
                      }else {
         
     | 
| 
      
 288 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 289 
     | 
    
         
            +
                      }
         
     | 
| 
       253 
290 
     | 
    
         
             
                    },
         
     | 
| 
       254 
291 
     | 
    
         
             
                    showToast: function(event, response) {
         
     | 
| 
       255 
292 
     | 
    
         
             
                      this.shadowRoot.querySelector('#toast1').text = response.response.status;
         
     | 
| 
         @@ -260,6 +297,56 @@ 
     | 
|
| 
       260 
297 
     | 
    
         
             
                      this.shadowRoot.querySelector("#get_posts_with_pending").go();
         
     | 
| 
       261 
298 
     | 
    
         
             
                      this.shadowRoot.querySelector("#get_total_pending").go();
         
     | 
| 
       262 
299 
     | 
    
         
             
                    },
         
     | 
| 
      
 300 
     | 
    
         
            +
                    firstPage: function () {
         
     | 
| 
      
 301 
     | 
    
         
            +
                      this.current_page = 1;
         
     | 
| 
      
 302 
     | 
    
         
            +
                      this.page_input = this.current_page;
         
     | 
| 
      
 303 
     | 
    
         
            +
                      if (this.selected == "0") {
         
     | 
| 
      
 304 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 305 
     | 
    
         
            +
                      }else {
         
     | 
| 
      
 306 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 307 
     | 
    
         
            +
                      }
         
     | 
| 
      
 308 
     | 
    
         
            +
                    },
         
     | 
| 
      
 309 
     | 
    
         
            +
                    lastPage: function () {
         
     | 
| 
      
 310 
     | 
    
         
            +
                      this.current_page = this.comments.page_count;
         
     | 
| 
      
 311 
     | 
    
         
            +
                      this.page_input = this.current_page;
         
     | 
| 
      
 312 
     | 
    
         
            +
                      if (this.selected == "0") {
         
     | 
| 
      
 313 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 314 
     | 
    
         
            +
                      }else {
         
     | 
| 
      
 315 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 316 
     | 
    
         
            +
                      }
         
     | 
| 
      
 317 
     | 
    
         
            +
                    },
         
     | 
| 
      
 318 
     | 
    
         
            +
                    prevPage: function () {
         
     | 
| 
      
 319 
     | 
    
         
            +
                      this.current_page = this.current_page - 1;
         
     | 
| 
      
 320 
     | 
    
         
            +
                      this.page_input = this.current_page;
         
     | 
| 
      
 321 
     | 
    
         
            +
                      if (this.selected == "0") {
         
     | 
| 
      
 322 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 323 
     | 
    
         
            +
                      }else {
         
     | 
| 
      
 324 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 325 
     | 
    
         
            +
                      }
         
     | 
| 
      
 326 
     | 
    
         
            +
                    },
         
     | 
| 
      
 327 
     | 
    
         
            +
                    nextPage: function () {
         
     | 
| 
      
 328 
     | 
    
         
            +
                      this.current_page = this.current_page + 1;
         
     | 
| 
      
 329 
     | 
    
         
            +
                      this.page_input = this.current_page;
         
     | 
| 
      
 330 
     | 
    
         
            +
                      if (this.selected == "0") {
         
     | 
| 
      
 331 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 332 
     | 
    
         
            +
                      }else {
         
     | 
| 
      
 333 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 334 
     | 
    
         
            +
                      }
         
     | 
| 
      
 335 
     | 
    
         
            +
                    },
         
     | 
| 
      
 336 
     | 
    
         
            +
                    setPage: function (oldValue, newValue) {
         
     | 
| 
      
 337 
     | 
    
         
            +
                      if (oldValue != newValue && newValue > 0){
         
     | 
| 
      
 338 
     | 
    
         
            +
                        var value = Path.get('page_input').getValueFrom(this);
         
     | 
| 
      
 339 
     | 
    
         
            +
                        this.current_page = value;
         
     | 
| 
      
 340 
     | 
    
         
            +
                        if (this.selected == "0") {
         
     | 
| 
      
 341 
     | 
    
         
            +
                          this.shadowRoot.querySelector("#get_pending_comments").go();
         
     | 
| 
      
 342 
     | 
    
         
            +
                        }else {
         
     | 
| 
      
 343 
     | 
    
         
            +
                          this.shadowRoot.querySelector("#get_all_comments").go();
         
     | 
| 
      
 344 
     | 
    
         
            +
                        }
         
     | 
| 
      
 345 
     | 
    
         
            +
                      }
         
     | 
| 
      
 346 
     | 
    
         
            +
                    },
         
     | 
| 
      
 347 
     | 
    
         
            +
                    observe: {
         
     | 
| 
      
 348 
     | 
    
         
            +
                      'page_input': 'setPage'
         
     | 
| 
      
 349 
     | 
    
         
            +
                    },
         
     | 
| 
       263 
350 
     | 
    
         
             
                    attached: function() {
         
     | 
| 
       264 
351 
     | 
    
         
             
                      //open pending tab by default
         
     | 
| 
       265 
352 
     | 
    
         
             
                      this.selected = "0";
         
     | 
| 
         @@ -0,0 +1,78 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <link rel="import" href="../../bower_components/polymer/polymer.html">
         
     | 
| 
      
 2 
     | 
    
         
            +
            <polymer-element name="ec-login">
         
     | 
| 
      
 3 
     | 
    
         
            +
              <template>
         
     | 
| 
      
 4 
     | 
    
         
            +
                <style>
         
     | 
| 
      
 5 
     | 
    
         
            +
                  #container {
         
     | 
| 
      
 6 
     | 
    
         
            +
                    background-color: #E5E5E5;
         
     | 
| 
      
 7 
     | 
    
         
            +
                    font-family: 'RobotoDraft', sans-serif;
         
     | 
| 
      
 8 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 9 
     | 
    
         
            +
                    height: 100%;
         
     | 
| 
      
 10 
     | 
    
         
            +
                  }
         
     | 
| 
      
 11 
     | 
    
         
            +
                  #login_form {
         
     | 
| 
      
 12 
     | 
    
         
            +
                    width: 280px;
         
     | 
| 
      
 13 
     | 
    
         
            +
                    height: 260px;
         
     | 
| 
      
 14 
     | 
    
         
            +
                    margin-top: 10%;
         
     | 
| 
      
 15 
     | 
    
         
            +
                  }
         
     | 
| 
      
 16 
     | 
    
         
            +
                  a {
         
     | 
| 
      
 17 
     | 
    
         
            +
                    text-decoration: none !important;
         
     | 
| 
      
 18 
     | 
    
         
            +
                    color: #616161;
         
     | 
| 
      
 19 
     | 
    
         
            +
                  }
         
     | 
| 
      
 20 
     | 
    
         
            +
                  #title {
         
     | 
| 
      
 21 
     | 
    
         
            +
                    padding-left:50px;
         
     | 
| 
      
 22 
     | 
    
         
            +
                  }
         
     | 
| 
      
 23 
     | 
    
         
            +
                  #login_button::shadow #ripple {
         
     | 
| 
      
 24 
     | 
    
         
            +
                    color: #FFA726;
         
     | 
| 
      
 25 
     | 
    
         
            +
                  }
         
     | 
| 
      
 26 
     | 
    
         
            +
                  paper-input-decorator /deep/ .focused-underline {
         
     | 
| 
      
 27 
     | 
    
         
            +
                      /* line color when the input is focused */
         
     | 
| 
      
 28 
     | 
    
         
            +
                      background-color: #FFB74D;
         
     | 
| 
      
 29 
     | 
    
         
            +
                  }
         
     | 
| 
      
 30 
     | 
    
         
            +
                  paper-input-decorator /deep/ #floatedLabelText {
         
     | 
| 
      
 31 
     | 
    
         
            +
                    color: #616161;
         
     | 
| 
      
 32 
     | 
    
         
            +
                  }
         
     | 
| 
      
 33 
     | 
    
         
            +
                </style>
         
     | 
| 
      
 34 
     | 
    
         
            +
                <core-ajax
         
     | 
| 
      
 35 
     | 
    
         
            +
                  id="login"
         
     | 
| 
      
 36 
     | 
    
         
            +
                  url="/dashboard/login"
         
     | 
| 
      
 37 
     | 
    
         
            +
                  method="post"
         
     | 
| 
      
 38 
     | 
    
         
            +
                  params='{"username":"{{username}}", "password":"{{password}}"}'
         
     | 
| 
      
 39 
     | 
    
         
            +
                  handleAs="json"
         
     | 
| 
      
 40 
     | 
    
         
            +
                  on-core-response="{{postLogin}}">
         
     | 
| 
      
 41 
     | 
    
         
            +
                </core-ajax>
         
     | 
| 
      
 42 
     | 
    
         
            +
                <div horizontal center-justified layout id="container">
         
     | 
| 
      
 43 
     | 
    
         
            +
                  <paper-shadow id="login_form" vertical  layout>
         
     | 
| 
      
 44 
     | 
    
         
            +
                  <paper-shadow><div id="title"><a href="/"><h2>EasyComments<h2></a></div></paper-shadow>
         
     | 
| 
      
 45 
     | 
    
         
            +
                    <paper-input-decorator label="Username" floatingLabel>
         
     | 
| 
      
 46 
     | 
    
         
            +
                       <input id="username" is="core-input" type="text" value="{{username}}"/>
         
     | 
| 
      
 47 
     | 
    
         
            +
                    </paper-input-decorator>
         
     | 
| 
      
 48 
     | 
    
         
            +
                    <paper-input-decorator label="Password" floatingLabel>
         
     | 
| 
      
 49 
     | 
    
         
            +
                       <input id="password" is="core-input" type="password" value="{{password}}"/>
         
     | 
| 
      
 50 
     | 
    
         
            +
                    </paper-input-decorator>
         
     | 
| 
      
 51 
     | 
    
         
            +
                    <paper-button id="login_button" on-click="{{login}}">Login</paper-button>
         
     | 
| 
      
 52 
     | 
    
         
            +
                  </paper-shadow>
         
     | 
| 
      
 53 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 54 
     | 
    
         
            +
                <template if="{{has_access}}">
         
     | 
| 
      
 55 
     | 
    
         
            +
                  <ec-dashboard></ec-dashboard>
         
     | 
| 
      
 56 
     | 
    
         
            +
                </template>
         
     | 
| 
      
 57 
     | 
    
         
            +
                <paper-toast id="toast1" text="Wrong username or password."></paper-toast>
         
     | 
| 
      
 58 
     | 
    
         
            +
              </template>
         
     | 
| 
      
 59 
     | 
    
         
            +
              <script>
         
     | 
| 
      
 60 
     | 
    
         
            +
                Polymer('ec-login', {
         
     | 
| 
      
 61 
     | 
    
         
            +
                    login: function() {
         
     | 
| 
      
 62 
     | 
    
         
            +
                      this.shadowRoot.querySelector("#login").go();
         
     | 
| 
      
 63 
     | 
    
         
            +
                    },
         
     | 
| 
      
 64 
     | 
    
         
            +
                    postLogin: function(event, response) {
         
     | 
| 
      
 65 
     | 
    
         
            +
                      this.has_access = response.response.has_access;
         
     | 
| 
      
 66 
     | 
    
         
            +
                      if(this.has_access === false){
         
     | 
| 
      
 67 
     | 
    
         
            +
                        this.shadowRoot.querySelector('#toast1').show();
         
     | 
| 
      
 68 
     | 
    
         
            +
                      }else{
         
     | 
| 
      
 69 
     | 
    
         
            +
                        //hide the form
         
     | 
| 
      
 70 
     | 
    
         
            +
                        this.shadowRoot.querySelector("#container").hidden = true;
         
     | 
| 
      
 71 
     | 
    
         
            +
                      }
         
     | 
| 
      
 72 
     | 
    
         
            +
                    },
         
     | 
| 
      
 73 
     | 
    
         
            +
                    ready: function(){
         
     | 
| 
      
 74 
     | 
    
         
            +
                      this.has_access = false;
         
     | 
| 
      
 75 
     | 
    
         
            +
                    },
         
     | 
| 
      
 76 
     | 
    
         
            +
                });
         
     | 
| 
      
 77 
     | 
    
         
            +
              </script>
         
     | 
| 
      
 78 
     | 
    
         
            +
            </polymer-element>
         
     | 
    
        data/public/polymer-loader.html
    CHANGED
    
    | 
         @@ -19,6 +19,7 @@ 
     | 
|
| 
       19 
19 
     | 
    
         
             
            <link rel="import" href="/bower_components/core-pages/core-pages.html">
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
            <link rel="import" href="/elements/ec-dashboard/ec-dashboard.html">
         
     | 
| 
      
 22 
     | 
    
         
            +
            <link rel="import" href="/elements/ec-login/ec-login.html">
         
     | 
| 
       22 
23 
     | 
    
         
             
            <!--
         
     | 
| 
       23 
24 
     | 
    
         
             
            vulcanize ./polymer-loader.html --abspath ./ --inline --strip -o ./polymer-loader.vulcanized.html
         
     | 
| 
       24 
25 
     | 
    
         
             
            -->
         
     |