richclient:emberjs:td4

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
richclient:emberjs:td4 [2019/03/11 09:56] – [Adapter & serializer] jcheronrichclient:emberjs:td4 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== TD n°4 & 5======+====== TD n°4 ======
  
 <html><div class="noborder"></html> <html><div class="noborder"></html>
Ligne 56: Ligne 56:
 </sxh> </sxh>
 <html></div></html> <html></div></html>
 +
 +{{ :richclient:emberjs:restheart.conf.zip |}}
 +
 Exécuter **mongo** (client en ligne de commande pour mongoDb) :\\ Exécuter **mongo** (client en ligne de commande pour mongoDb) :\\
 Créer les collections suivantes dans la base de données mongoDb **boards** : Créer les collections suivantes dans la base de données mongoDb **boards** :
Ligne 104: Ligne 107:
     modelName=pluralize(modelName);     modelName=pluralize(modelName);
     return this.get('host')+'/'+this.get('namespace')+`/${modelName}/*?filter={_id:'${id}'}`;     return this.get('host')+'/'+this.get('namespace')+`/${modelName}/*?filter={_id:'${id}'}`;
 +  },
 +  urlForQuery(query,modelName) {
 +  if (this.sortQueryParams) {
 +    query = this.sortQueryParams(query);
 +  }
 +  modelName=pluralize(modelName);
 +    return this.get('host')+'/'+this.get('namespace')+'/'+modelName+'?filter='+JSON.stringify(query.filter);
   }   }
 }); });
Ligne 165: Ligne 175:
  
 ==== Route developers ==== ==== Route developers ====
 +
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.1**</wrap>
  
 <sxh bash;gutter:false> <sxh bash;gutter:false>
Ligne 188: Ligne 200:
  
 ==== Route projects ==== ==== Route projects ====
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.2**</wrap>
  
 <sxh bash;gutter:false> <sxh bash;gutter:false>
Ligne 226: Ligne 239:
  
 ==== Route /project/:project_id ==== ==== Route /project/:project_id ====
 +
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.3**</wrap>
  
 Elle permet de visualiser les caractéristiques d'un projet, ainsi que ses stories. Elle permet de visualiser les caractéristiques d'un projet, ainsi que ses stories.
Ligne 237: Ligne 252:
  
 ==== Route /story/new/:project_id ==== ==== Route /story/new/:project_id ====
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.4**</wrap>
  
 Elle permet d'ajouter une story dans le projet en cours. Elle permet d'ajouter une story dans le projet en cours.
Ligne 286: Ligne 302:
 ... ...
 } }
 +</sxh>
 +
 +
 +=== Gestion des dates ===
 +
 +Créer un transformer :
 +
 +<sxh bash>
 +ember g transform utc
 +</sxh>
 +
 +<sxh javascript;title:app/transforms/utc.js>
 +import DS from 'ember-data';
 +
 +export default DS.Transform.extend({
 +  deserialize(serialized) {
 +    var type = typeof serialized;
 +      debugger
 +       if (type === "string") {
 +         return new Date(Date.parse(serialized));
 +       } else if (type === "number") {
 +         return new Date(serialized);
 +       } else if(serialized!=null && type==="object") {
 +         return new Date(serialized.$numberLong);
 +       } else if (serialized === null || serialized === undefined) {
 +         return serialized;
 +       } else {
 +         return null;
 +       }
 +  },
 +
 +  serialize(deserialized) {
 +    if (deserialized instanceof Date) {
 +      return deserialized.toJSON();
 +    } else {
 +      return new Date(Date.parse(deserialized));
 +    }
 +  }
 +});
 +
 +</sxh>
 +
 +Dans un model :
 +
 +<sxh javascript>
 +dateCreation: DS.attr('utc');
 </sxh> </sxh>
  
  • richclient/emberjs/td4.1552294591.txt.gz
  • Dernière modification : il y a 5 ans
  • (modification externe)