From 8dfc397a5ed839b9f2665c8cd19ded20b44a22f4 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Mon, 1 Oct 2018 19:23:40 +0200
Subject: [PATCH] Move tagsplugin to compiled handlebars

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 apps/files/js/tagsplugin.js                      | 12 +-----------
 apps/files/js/templates.js                       | 14 ++++++++++++++
 apps/files/js/templates/favorite_mark.handlebars |  4 ++++
 3 files changed, 19 insertions(+), 11 deletions(-)
 create mode 100644 apps/files/js/templates/favorite_mark.handlebars

diff --git a/apps/files/js/tagsplugin.js b/apps/files/js/tagsplugin.js
index 4ce6604384d..b8e17115b4b 100644
--- a/apps/files/js/tagsplugin.js
+++ b/apps/files/js/tagsplugin.js
@@ -17,13 +17,6 @@
 		PROPERTY_FAVORITE: '{' + OC.Files.Client.NS_OWNCLOUD + '}favorite'
 	});
 
-	var TEMPLATE_FAVORITE_MARK =
-		'<div ' +
-		'class="favorite-mark {{#isFavorite}}permanent{{/isFavorite}}">' +
-		'<span class="icon {{iconClass}}" />' +
-		'<span class="hidden-visually">{{altText}}</span>' +
-		'</div>';
-
 	/**
 	 * Returns the icon class for the matching state
 	 *
@@ -41,10 +34,7 @@
 	 * @return {Object} jQuery object
 	 */
 	function renderStar (state) {
-		if (!this._template) {
-			this._template = Handlebars.compile(TEMPLATE_FAVORITE_MARK);
-		}
-		return this._template({
+		return OCA.Files.Templates['favorite_mark']({
 			isFavorite: state,
 			altText: state ? t('files', 'Favorited') : t('files', 'Not favorited'),
 			iconClass: getStarIconClass(state)
diff --git a/apps/files/js/templates.js b/apps/files/js/templates.js
index 4b78ffc8c98..4cbd326bac7 100644
--- a/apps/files/js/templates.js
+++ b/apps/files/js/templates.js
@@ -23,6 +23,20 @@ templates['detailsview'] = template({"1":function(container,depth0,helpers,parti
     + container.escapeExpression(((helper = (helper = helpers.closeLabel || (depth0 != null ? depth0.closeLabel : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"closeLabel","hash":{},"data":data}) : helper)))
     + "</span></a>\n";
 },"useData":true});
+templates['favorite_mark'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return "permanent";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression, buffer = 
+  "<div class=\"favorite-mark ";
+  stack1 = ((helper = (helper = helpers.isFavorite || (depth0 != null ? depth0.isFavorite : depth0)) != null ? helper : alias2),(options={"name":"isFavorite","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));
+  if (!helpers.isFavorite) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "\">\n	<span class=\"icon "
+    + alias4(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"iconClass","hash":{},"data":data}) : helper)))
+    + "\" />\n	<span class=\"hidden-visually\">"
+    + alias4(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"altText","hash":{},"data":data}) : helper)))
+    + "</span>\n</div>\n";
+},"useData":true});
 templates['filemultiselectmenu'] = template({"1":function(container,depth0,helpers,partials,data) {
     var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
 
diff --git a/apps/files/js/templates/favorite_mark.handlebars b/apps/files/js/templates/favorite_mark.handlebars
new file mode 100644
index 00000000000..7e0cb4385a8
--- /dev/null
+++ b/apps/files/js/templates/favorite_mark.handlebars
@@ -0,0 +1,4 @@
+<div class="favorite-mark {{#isFavorite}}permanent{{/isFavorite}}">
+	<span class="icon {{iconClass}}" />
+	<span class="hidden-visually">{{altText}}</span>
+</div>
-- 
GitLab