]> git.wh0rd.org - chrome-ext/clearhistory-advance-fork.git/blobdiff - javascript/options.js
options: move unique functions in here
[chrome-ext/clearhistory-advance-fork.git] / javascript / options.js
index c4ffda4634b32cc5255b86a395d4df369a25bbf1..e5d53ec5de7f1b5f2d13ad31e717b045a3aa6ceb 100644 (file)
@@ -7,6 +7,34 @@
 
 window.addEventListener('load', init, false);
 
+/**
+ * Pours the data in template string.
+ * @param {Object} datObject The data object to be filled in template string.
+ * @return {string} The new string created from template string and filled
+ *     with the given data.
+ */
+String.prototype.supplant = function(datObject) {
+  return this.replace(/{([^{}]*)}/g,
+    function(match, firstSubMatch) {
+      var replace = datObject[firstSubMatch];
+      return (typeof replace === 'string' || typeof replace === 'number') ?
+          replace : match;
+    });
+};
+
+/**
+ * Queries the DOM.
+ * @param {string} selector Selector to execute.
+ * @param {HTMLElement=} context HTMLElement to query (optional).
+ * @return {Array.<HTMLElement>} Array of matched elements (non-live).
+ */
+function $(selector, context) {
+  if (!(context && context instanceof HTMLElement)) {
+    context = document;
+  }
+  return Array.prototype.slice.call(context.querySelectorAll(selector));
+}
+
 /**
  * Initializes the i18n strings.
  * Loads values from localStorage and applies them to the elements