Automatically search for the next match after single replace, fixes #3384
[redakcja.git] / redakcja / static / js / wiki / view_summary.js
1 (function($){
2
3         function SummaryPerspective(options) {
4                 var old_callback = options.callback || function() {};
5
6                 options.callback = function() {
7                         var self = this;
8
9                         // first time page is rendered
10                 $('#summary-cover-refresh').click(function() {
11                                 self.refreshCover();
12                         });
13
14                 old_callback.call(this);
15                 }
16
17                 $.wiki.Perspective.call(this, options);
18     };
19
20     SummaryPerspective.prototype = new $.wiki.Perspective();
21
22         SummaryPerspective.prototype.refreshCover = function() {
23                 $('#summary-cover-refresh').attr('disabled', 'disabled');
24                 this.doc.refreshCover({
25                         success: function(text) {
26                                 $('#summary-cover').attr('src', text);
27                         $('#summary-cover-refresh').removeAttr('disabled');
28                         }
29                 });
30         };
31
32     SummaryPerspective.prototype.showCharCount = function() {
33         var cc;
34         try {
35             cc = this.doc.getLength();
36             $('#charcount_untagged').hide();
37         }
38         catch (e) {
39             $('#charcount_untagged').show();
40             cc = this.doc.text.replace(/\s{2,}/g, ' ').length;
41         }
42         $('#charcount').html(cc);
43         $('#charcount_pages').html((Math.round(cc/18)/100).toLocaleString());
44     }
45
46     SummaryPerspective.prototype.freezeState = function(){
47         // must
48     };
49
50         SummaryPerspective.prototype.onEnter = function(success, failure){
51                 $.wiki.Perspective.prototype.onEnter.call(this);
52                 
53                 this.showCharCount();
54
55                 console.log("Entered summery view");
56         };
57
58         $.wiki.SummaryPerspective = SummaryPerspective;
59
60 })(jQuery);
61