Browse Source

Levels 3.7 to 3.9: providers.

Frederic G. MARAND 6 năm trước cách đây
mục cha
commit
7c3b1f9c17
5 tập tin đã thay đổi với 135 bổ sung237 xóa
  1. 117 220
      .idea/workspace.xml
  2. 1 0
      index.html
  3. 4 2
      js/app.js
  4. 2 3
      js/controllers/users-index-controller.js
  5. 11 12
      js/services/gravatar.js

+ 117 - 220
.idea/workspace.xml

@@ -2,13 +2,8 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="179343f7-015f-440a-93a8-15155b9f2a03" name="Default" comment="">
-      <change beforePath="" afterPath="$PROJECT_DIR$/css/style.css" />
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-      <change beforePath="$PROJECT_DIR$/index.html" afterPath="$PROJECT_DIR$/index.html" />
-      <change beforePath="$PROJECT_DIR$/js/directives/nw-card.js" afterPath="$PROJECT_DIR$/js/directives/nw-card.js" />
-      <change beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
-      <change beforePath="$PROJECT_DIR$/templates/directives/nw-card.html" afterPath="$PROJECT_DIR$/templates/directives/nw-card.html" />
-      <change beforePath="$PROJECT_DIR$/yarn.lock" afterPath="$PROJECT_DIR$/yarn.lock" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/index.html" afterPath="$PROJECT_DIR$/index.html" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="TRACKING_ENABLED" value="true" />
@@ -40,6 +35,9 @@
       <find>class=&quot;h3</find>
       <find>showController</find>
       <find>indexController</find>
+      <find>gravatar</find>
+      <find>gravatar.</find>
+      <find>angular.module(</find>
     </findStrings>
     <replaceStrings>
       <replace>user</replace>
@@ -59,7 +57,6 @@
         <option value="$PROJECT_DIR$/templates/pages/notes/notes-index.html" />
         <option value="$PROJECT_DIR$/users-index.html" />
         <option value="$PROJECT_DIR$/templates/pages/users/users-index.html" />
-        <option value="$PROJECT_DIR$/js/app.js" />
         <option value="$PROJECT_DIR$/notes" />
         <option value="$PROJECT_DIR$/.eslintrc.yml" />
         <option value="$PROJECT_DIR$/notes.json" />
@@ -73,9 +70,12 @@
         <option value="$PROJECT_DIR$/js/routes.js" />
         <option value="$PROJECT_DIR$/templates/pages/notes/notes.html" />
         <option value="$PROJECT_DIR$/css/style.css" />
-        <option value="$PROJECT_DIR$/index.html" />
         <option value="$PROJECT_DIR$/templates/directives/nw-card.html" />
         <option value="$PROJECT_DIR$/js/directives/nw-card.js" />
+        <option value="$PROJECT_DIR$/js/services/gravatar.js" />
+        <option value="$PROJECT_DIR$/js/controllers/users-index-controller.js" />
+        <option value="$PROJECT_DIR$/js/app.js" />
+        <option value="$PROJECT_DIR$/index.html" />
       </list>
     </option>
   </component>
@@ -138,83 +138,78 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
+      <pane id="Scratches" />
+      <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="css" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="js" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="js" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="controllers" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="js" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="directives" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="node_modules" type="2a2b976b:PhpTreeStructureProvider$1" />
-            </path>
-            <path>
-              <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="node_modules" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="markdown" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="js" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="services" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="node_modules" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="markdown" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="lib" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="templates" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="templates" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="directives" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="templates" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="directives" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="pages" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="templates" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="pages" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="notes" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
             <path>
               <item name="CodeSchool Angular 2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="ng-codeschool-2" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="ng-codeschool2" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="templates" type="2a2b976b:PhpTreeStructureProvider$1" />
               <item name="pages" type="2a2b976b:PhpTreeStructureProvider$1" />
-              <item name="notes" type="2a2b976b:PhpTreeStructureProvider$1" />
+              <item name="users" type="2a2b976b:PhpTreeStructureProvider$1" />
             </path>
           </expand>
           <select />
         </subPane>
       </pane>
-      <pane id="Scratches" />
-      <pane id="Scope" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -276,43 +271,44 @@
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="14422000" />
+    <option name="totallyTimeSpent" value="16793000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="23" width="1676" height="1027" extended-state="6" />
+    <frame x="0" y="23" width="1440" height="877" extended-state="6" />
     <layout>
-      <window_info id="Project" active="true" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2631579" sideWeight="0.5" order="5" side_tool="false" content_ui="combo" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
-      <window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
-      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32939914" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
-      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24847001" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Mongo Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Project" active="true" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26037195" sideWeight="0.5" order="5" side_tool="false" content_ui="combo" />
+      <window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
+      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32992327" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24892704" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Mongo Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="combo" />
       <window_info id="Project" active="true" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26037195" sideWeight="0.5" order="5" side_tool="false" content_ui="combo" />
       <window_info id="Metrics" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32992327" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32992327" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24892704" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
     </layout>
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -328,6 +324,22 @@
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/templates/directives/nw-card.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="30">
+          <caret line="2" column="0" lean-forward="false" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/templates/pages/notes/index.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="315">
+          <caret line="21" column="0" lean-forward="false" selection-start-line="11" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/js/controllers/notes-show-controller.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
@@ -477,149 +489,11 @@
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/users-index.html" />
-    <entry file="file://$PROJECT_DIR$/js/controllers/users-show-controller.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/users-index-controller.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/node_modules/angular/angular.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="240">
           <caret line="16" column="0" lean-forward="true" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
-          <folding>
-            <marker date="1511547606000" expanded="true" signature="26364:26998" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="26410:26897" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="27159:27546" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="27187:27545" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="27256:27363" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="27407:27507" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="33308:33902" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="33334:33889" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="33636:33742" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="34020:34243" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="34048:34242" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="34146:34231" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="51099:51152" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="51278:51322" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="51579:52624" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="51624:51875" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="51689:51861" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="51921:52198" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="52012:52184" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="52242:52614" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="52307:52600" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="52710:52844" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="52896:52946" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="52953:53147" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="53184:53263" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="53212:53262" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="53357:53395" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="53499:53642" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="53671:53764" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="53792:53910" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="165407:165531" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="165673:166082" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="165770:166081" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="165818:166065" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="165837:165929" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="166152:166217" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="166236:166306" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="166728:166869" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="166805:166853" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="166945:166990" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="167111:167247" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="167153:167246" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="167286:167950" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="167383:167937" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="167432:167921" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="167530:167729" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="167551:167661" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="167735:167904" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="167756:167849" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="168013:168055" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="168074:168170" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="168195:168347" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="168376:168451" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="223728:224354" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="224013:224139" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="224223:224340" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="224483:224893" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="224543:224892" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="224671:224880" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="224734:224788" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="224947:224986" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="243565:244013" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="243796:244002" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="243925:243988" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="244043:244585" ph="{&quot;template&quot;: '&lt;pre&gt;{{ $ctrl.log | json }}&lt;/pre&gt;'...}" />
-            <marker date="1511547606000" expanded="true" signature="244186:244574" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="244288:244560" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="244409:244545" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="245108:245322" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="245438:246091" ph="{&quot;template&quot;: '&lt;pre&gt;{{ $ctrl.log | json }}&lt;/pre&gt;'...}" />
-            <marker date="1511547606000" expanded="true" signature="245586:246079" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="245661:246064" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="245714:245839" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="245907:246048" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="279192:280453" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="279264:280286" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="279274:279406" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="279472:280276" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="279578:280265" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="279636:279767" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="279799:280238" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="279817:279907" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="279962:280169" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="280327:280438" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="280355:280437" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="280497:280627" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="280731:281035" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="405973:406113" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="406244:406430" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="406296:406429" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="492781:495745" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="492880:494310" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="492948:494309" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493164:493696" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493355:493669" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493425:493572" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493578:493647" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493754:493934" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493805:493914" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="493993:494098" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="494160:494289" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="494326:494475" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="494518:495724" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="494594:495723" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="494740:495705" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="494824:494918" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="494961:495052" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="495205:495302" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="495401:495555" ph="//..." />
-            <marker date="1511547606000" expanded="true" signature="495610:495683" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="495769:496386" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="495821:496369" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="535280:535410" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="535322:535409" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="535497:535990" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="535603:535669" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="760792:761122" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="760883:761104" ph="[...]" />
-            <marker date="1511547606000" expanded="true" signature="760931:761103" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="761033:761089" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="761169:761320" ph="..." />
-            <marker date="1511547606000" expanded="true" signature="761454:761631" ph="{...}" />
-            <marker date="1511547606000" expanded="true" signature="761530:761623" ph="//..." />
-          </folding>
+          <folding />
         </state>
       </provider>
     </entry>
@@ -672,21 +546,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/app.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="30">
-          <caret line="2" column="0" lean-forward="true" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/notes-index-controller.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="30">
-          <caret line="2" column="0" lean-forward="false" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/templates/pages/notes/index.html">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="120">
@@ -701,14 +560,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/notes-show-controller.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="17" column="0" lean-forward="true" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/templates/pages/notes/show.html">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="180">
@@ -721,7 +572,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="105">
           <caret line="7" column="39" lean-forward="false" selection-start-line="7" selection-start-column="39" selection-end-line="7" selection-end-column="39" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -729,7 +579,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="75">
           <caret line="5" column="15" lean-forward="false" selection-start-line="5" selection-start-column="15" selection-end-line="5" selection-end-column="15" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -737,18 +586,10 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/node_modules/markdown/lib/markdown.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="225">
-          <caret line="15" column="73" lean-forward="true" selection-start-line="15" selection-start-column="73" selection-end-line="15" selection-end-column="73" />
-          <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/node_modules/markdown/lib/markdown.js" />
     <entry file="file://$PROJECT_DIR$/js/directives/nw-card.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="555">
@@ -767,8 +608,64 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/index.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="690">
-          <caret line="46" column="58" lean-forward="false" selection-start-line="46" selection-start-column="58" selection-end-line="46" selection-end-column="58" />
+        <state relative-caret-position="477">
+          <caret line="53" column="39" lean-forward="false" selection-start-line="53" selection-start-column="39" selection-end-line="53" selection-end-column="39" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/controllers/notes-show-controller.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="150">
+          <caret line="10" column="6" lean-forward="true" selection-start-line="10" selection-start-column="6" selection-end-line="10" selection-end-column="6" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/controllers/notes-index-controller.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="30">
+          <caret line="2" column="0" lean-forward="false" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/controllers/users-show-controller.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/services/note.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="14" column="3" lean-forward="true" selection-start-line="14" selection-start-column="3" selection-end-line="14" selection-end-column="3" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/controllers/users-index-controller.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="15">
+          <caret line="1" column="56" lean-forward="true" selection-start-line="1" selection-start-column="56" selection-end-line="1" selection-end-column="56" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/services/gravatar.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="240">
+          <caret line="16" column="0" lean-forward="true" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/app.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="4" column="0" lean-forward="true" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
           <folding />
         </state>
       </provider>

+ 1 - 0
index.html

@@ -51,6 +51,7 @@
     <script src="./js/routes.js"></script>
 
     <!-- Services -->
+    <script src="./js/services/gravatar.js"></script>
     <script src="./js/services/note.js"></script>
 
     <!-- Controllers -->

+ 4 - 2
js/app.js

@@ -1,2 +1,4 @@
-angular.module("noteWrangler", ['ngRoute']);
-
+angular.module("noteWrangler", ['ngRoute'])
+  .config(function (GravatarProvider) {
+    GravatarProvider.setSize(100);
+  });

+ 2 - 3
js/controllers/users-index-controller.js

@@ -1,7 +1,6 @@
 angular.module("noteWrangler")
   .controller("UsersIndexController", ['$scope', 'Gravatar', function ($scope, Gravatar) {
-    $scope.gravatarUrl = function (email) {
-      // Would be Gravatar.generate(email) with non-simplified syntax.
-      return Gravatar(email);
+    $scope.gravatarUrl = function (user) {
+      return Gravatar(user.email);
     };
 }]);

+ 11 - 12
js/services/gravatar.js

@@ -1,17 +1,16 @@
 angular.module("noteWrangler")
-  .factory('Gravatar', function GravatarFactory(user) {
-    const avatarSize = 80; // px.
+  .provider('Gravatar', function GravatarProvider() {
+    var avatarSize = 80; // px.
     const avatarUrlBase = "http://gravatar.com/avatar/";
-    const generate = function (email) {
-      const hash = CryptoJS.MD5(user.email);
-      const avatarUrl = avatarUrlBase + hash + "?size=" + avatarSize.toString();
-      return avatarUrl;
+    this.$get = function () {
+      return function (email) {
+        const hash = CryptoJS.MD5(email);
+        const avatarUrl = avatarUrlBase + hash + "?size=" + avatarSize.toString();
+        return avatarUrl;
+      }
     };
-    // Normal format:
-    // return { generate: generate };
-    // Then call Gravatar.generate(email)
 
-    // Simplified format for services with a single method:
-    return generate;
-    // Then call Gravatar(email).
+    this.setSize = function (size) {
+      avatarSize = size;
+    };
   });