Просмотр исходного кода

fix #515: custom resolution rules for files

added resolution rule for forms, allowing for keeping components and
templates for those in subdirs.
Rafał Pitoń 10 лет назад
Родитель
Сommit
2a540faed9

+ 1 - 1
misago/emberapp/app/app.js

@@ -1,5 +1,5 @@
 import Ember from 'ember';
 import Ember from 'ember';
-import Resolver from 'ember/resolver';
+import Resolver from './resolver';
 import loadInitializers from 'ember/load-initializers';
 import loadInitializers from 'ember/load-initializers';
 import config from './config/environment';
 import config from './config/environment';
 
 

+ 0 - 0
misago/emberapp/app/components/register-form.js → misago/emberapp/app/components/forms/register-form.js


+ 0 - 0
misago/emberapp/app/components/request-link-form.js → misago/emberapp/app/components/forms/request-link-form.js


+ 0 - 0
misago/emberapp/app/components/set-new-password-form.js → misago/emberapp/app/components/forms/set-new-password-form.js


+ 43 - 0
misago/emberapp/app/resolver.js

@@ -0,0 +1,43 @@
+import Ember from 'ember';
+import Resolver from 'ember/resolver';
+
+export default Resolver.extend({
+  _startsWith: function(string, beginning) {
+    return string.indexOf(beginning) === 0;
+  },
+
+  _endsWith: function(string, tail) {
+    return string.indexOf(tail, string.length - tail.length) !== -1;
+  },
+
+  misagoFormModuleName: function(parsedName) {
+    if (this._endsWith(parsedName.name, '-form')) {
+      var isComponent = parsedName.type === 'component';
+      var isComponentTemplate = this._startsWith(parsedName.name, 'components/');
+
+      if (isComponent || isComponentTemplate) {
+        var path = parsedName.prefix + '/' +  this.pluralize(parsedName.type) + '/';
+
+        if (isComponentTemplate) {
+          path += 'components/forms/' + parsedName.fullNameWithoutType.substr(11);
+        } else {
+          path += 'forms/' + parsedName.fullNameWithoutType;
+        }
+
+        console.log(path);
+        return path;
+      }
+    }
+  },
+
+  // register custom lookup
+  moduleNameLookupPatterns: Ember.computed(function(){
+    return Ember.A([
+      this.misagoFormModuleName,
+      this.podBasedModuleName,
+      this.podBasedComponentsInSubdir,
+      this.mainModuleName,
+      this.defaultModuleName
+    ]);
+  })
+});

+ 0 - 0
misago/emberapp/app/templates/components/register-form.hbs → misago/emberapp/app/templates/components/forms/register-form.hbs


+ 0 - 0
misago/emberapp/app/templates/components/request-link-form.hbs → misago/emberapp/app/templates/components/forms/request-link-form.hbs


+ 0 - 0
misago/emberapp/app/templates/components/set-new-password-form.hbs → misago/emberapp/app/templates/components/forms/set-new-password-form.hbs