1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"], function(require, exports, module){"use strict";
- var dom = require("../lib/dom");
- var lang = require("../lib/lang");
- var StatusBar = function (editor, parentNode) {
- this.element = dom.createElement("div");
- this.element.className = "ace_status-indicator";
- this.element.style.cssText = "display: inline-block;";
- parentNode.appendChild(this.element);
- var statusUpdate = lang.delayedCall(function () {
- this.updateStatus(editor);
- }.bind(this)).schedule.bind(null, 100);
- editor.on("changeStatus", statusUpdate);
- editor.on("changeSelection", statusUpdate);
- editor.on("keyboardActivity", statusUpdate);
- };
- (function () {
- this.updateStatus = function (editor) {
- var status = [];
- function add(str, separator) {
- str && status.push(str, separator || "|");
- }
- add(editor.keyBinding.getStatusText(editor));
- if (editor.commands.recording)
- add("REC");
- var sel = editor.selection;
- var c = sel.lead;
- if (!sel.isEmpty()) {
- var r = editor.getSelectionRange();
- add("(" + (r.end.row - r.start.row) + ":" + (r.end.column - r.start.column) + ")", " ");
- }
- add(c.row + ":" + c.column, " ");
- if (sel.rangeCount)
- add("[" + sel.rangeCount + "]", " ");
- status.pop();
- this.element.textContent = status.join("");
- };
- }).call(StatusBar.prototype);
- exports.StatusBar = StatusBar;
- }); (function() {
- ace.require(["ace/ext/statusbar"], function(m) {
- if (typeof module == "object" && typeof exports == "object" && module) {
- module.exports = m;
- }
- });
- })();
-
|