more import existing series code.

This commit is contained in:
Keivan Beigi 2013-01-31 14:40:51 -08:00 committed by kay.one
parent 86e554010d
commit eab6abc8c9
24 changed files with 226 additions and 65 deletions

View File

@ -183,18 +183,22 @@
<ItemGroup>
<Compile Include="App_Start\DataTablesMvc.cs" />
<Compile Include="App_Start\MiniProfiler.cs" />
<Content Include="_backboneApp\AddSeries\AddNewSeries\SearchResultView.js" />
<Content Include="_backboneApp\AddSeries\ImportExistingSeries\ImportSeriesView.js" />
<Content Include="_backboneApp\AddSeries\ImportExistingSeries\ImportSeriesTemplate.html" />
<Content Include="_backboneApp\AddSeries\RootDir\RootDirTemplate.html" />
<Content Include="_backboneApp\AddSeries\RootDir\RootDirView.js" />
<Content Include="_backboneApp\AddSeries\RootDir\RootDirItemTemplate.html" />
<Content Include="_backboneApp\AddSeries\RootDir\RootDirModel.js" />
<Content Include="_backboneApp\AddSeries\RootDir\RootDirCollection.js" />
<Content Include="_backboneApp\AddSeries\Existing\FolderMatchResultViewTemplatate.html" />
<Content Include="_backboneApp\AddSeries\Existing\UnmappedFolderCompositeViewTemplatate.html" />
<Content Include="_backboneApp\AddSeries\New\SearchResultView.js" />
<Content Include="_backboneApp\AddSeries\Existing\ImportSeriesView.js" />
<Content Include="_backboneApp\AddSeries\Existing\RootFoldersCompositeView.html" />
<Content Include="_backboneApp\AddSeries\Existing\UnmappedFolderModel.js" />
<Content Include="_backboneApp\AddSeries\Existing\RootFolderCompositeViewTemplate.html" />
<Content Include="_backboneApp\AddSeries\RootFolders\RootDirTemplate.html" />
<Content Include="_backboneApp\AddSeries\RootFolders\RootDirView.js" />
<Content Include="_backboneApp\AddSeries\RootFolders\RootDirItemTemplate.html" />
<Content Include="_backboneApp\AddSeries\RootFolders\RootDirModel.js" />
<Content Include="_backboneApp\AddSeries\RootFolders\RootDirCollection.js" />
<Content Include="_backboneApp\JsLibraries\backbone.modelbinder.js" />
<Content Include="_backboneApp\AddSeries\AddNewSeries\AddNewSeriesTemplate.html" />
<Content Include="_backboneApp\AddSeries\AddNewSeries\AddNewSeriesView.js" />
<Content Include="_backboneApp\AddSeries\AddNewSeries\SearchResultTemplate.html" />
<Content Include="_backboneApp\AddSeries\New\AddNewSeriesTemplate.html" />
<Content Include="_backboneApp\AddSeries\New\AddNewSeriesView.js" />
<Content Include="_backboneApp\AddSeries\New\SearchResultTemplate.html" />
<Content Include="_backboneApp\AddSeries\SearchResultModel.js" />
<Content Include="_backboneApp\AddSeries\SearchResultCollection.js" />
<Content Include="_backboneApp\Content\Intelisense\bootstrap.css" />

View File

@ -1,9 +1,9 @@
/// <reference path="../app.js" />
/// <reference path="AddNewSeries/AddNewSeriesView.js" />
/// <reference path="RootDir/RootDirView.js" />
/// <reference path="New/AddNewSeriesView.js" />
/// <reference path="RootFolders/RootDirView.js" />
/// <reference path="../Quality/qualityProfileCollection.js" />
/// <reference path="../Shared/SpinnerView.js" />
/// <reference path="ImportExistingSeries/ImportSeriesView.js" />
/// <reference path="Existing/ImportSeriesView.js" />
NzbDrone.AddSeries.AddSeriesLayout = Backbone.Marionette.Layout.extend({
template: 'AddSeries/addSeriesLayoutTemplate',
@ -74,12 +74,12 @@ NzbDrone.AddSeries.AddSeriesLayout = Backbone.Marionette.Layout.extend({
this.qualityProfileCollection.fetch();
this.addNew.show(new NzbDrone.AddSeries.AddNewSeriesView({ rootFolders: this.rootFolderCollection, qualityProfiles: this.qualityProfileCollection }));
this.importExisting.show(new NzbDrone.AddSeries.ExistingFolderListView({ collection: this.rootFolderCollection }));
this.importExisting.show(new NzbDrone.AddSeries.Existing.ImportSeriesView({ collection: this.rootFolderCollection }));
this.rootFolders.show(new NzbDrone.AddSeries.RootDirView({ collection: this.rootFolderCollection }));
NzbDrone.vent.listenTo(this.rootFolderCollection, 'add', this.evaluateActions, this);
NzbDrone.vent.listenTo(this.rootFolderCollection, 'remove', this.evaluateActions, this);
NzbDrone.vent.listenTo(this.rootFolderCollection, 'reset', this.evaluateActions, this);
this.listenTo(this.rootFolderCollection, 'add', this.evaluateActions, this);
this.listenTo(this.rootFolderCollection, 'remove', this.evaluateActions, this);
this.listenTo(this.rootFolderCollection, 'reset', this.evaluateActions, this);
},
onShow: function () {

View File

@ -0,0 +1,5 @@
<div class="row">
<a href="http://thetvdb.com/?tab=series&id={{id}}" target="_blank" class="icon-info-sign pull-left"></a>
<div>{{seriesName}} {{seriesYear}}</div>
<div class="btn btn-success x-add pull-right icon-plus"></div>
</div>

View File

@ -0,0 +1,65 @@
'use strict';
/// <reference path="../../app.js" />
/// <reference path="UnmappedFolderModel.js" />
/// <reference path="../../Series/SeriesModel.js" />
/// <reference path="../SearchResultCollection.js" />
NzbDrone.AddSeries.Existing.FolderMatchResultView = Backbone.Marionette.ItemView.extend({
template: "AddSeries/Existing/FolderMatchResultViewTemplatate",
});
NzbDrone.AddSeries.Existing.UnmappedFolderCompositeView = Backbone.Marionette.CompositeView.extend({
template: "AddSeries/Existing/UnmappedFolderCompositeViewTemplatate",
itemViewContainer: ".x-folder-name-match-results",
itemView: NzbDrone.AddSeries.Existing.FolderMatchResultView,
events: {
'click .x-search': 'search'
},
initialize: function () {
this.collection = new NzbDrone.AddSeries.SearchResultCollection();
},
search: function () {
this.collection.fetch({
data: $.param({ term: 'simpsons' })
});
}
});
NzbDrone.AddSeries.Existing.RootFolderCompositeView = Backbone.Marionette.CompositeView.extend({
template: "AddSeries/Existing/RootFolderCompositeViewTemplate",
itemViewContainer: ".x-existing-folder-container",
itemView: NzbDrone.AddSeries.Existing.UnmappedFolderCompositeView,
initialize: function () {
if (!this.model) {
throw "model is required.";
}
this.collection = new NzbDrone.AddSeries.Existing.UnmappedFolderCollection();
this.collection.importArray(this.model.get('unmappedFolders'));
},
});
NzbDrone.AddSeries.Existing.ImportSeriesView = Backbone.Marionette.CollectionView.extend({
itemView: NzbDrone.AddSeries.Existing.RootFolderCompositeView,
initialize: function () {
if (!this.collection) {
throw "root folder collection is required.";
}
}
});

View File

@ -0,0 +1,20 @@
<div class="accordion result-list span12 offset4 ">
<h2>{{path}}</h2>
<div class="x-existing-folder-container">
</div>
<!-- {{#each unmappedFolders}}
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" href="#{{../id}}_{{@index}}">{{this}}</a>
</div>
<div id="{{../id}}_{{@index}}" class="accordion-body collapse">
<div class="accordion-inner">
{{this}}
</div>
</div>
</div>
{{/each}}-->
</div>

View File

@ -0,0 +1,7 @@
<div>
{{folder}}
<div class="btn x-search"></div>
<div class="x-folder-name-match-results">
</div>
</div>

View File

@ -0,0 +1,25 @@
'use strict';
/// <reference path="../../app.js" />
NzbDrone.AddSeries.Existing.UnmappedFolderModel = Backbone.Model.extend({
});
NzbDrone.AddSeries.Existing.UnmappedFolderCollection = Backbone.Collection.extend({
model: NzbDrone.AddSeries.Existing.UnmappedFolderModel,
importArray: function (unmappedFolderArray) {
if (!unmappedFolderArray) {
throw "folder array is required";
}
_.each(unmappedFolderArray, function (folder) {
this.push(new NzbDrone.AddSeries.Existing.UnmappedFolderModel({ folder: folder }));
}, this);
}
});

View File

@ -1,28 +0,0 @@
'use strict';
/*global NzbDrone, Backbone*/
/// <reference path="../../app.js" />
/// <reference path="../../Series/SeriesModel.js" />
/// <reference path="../SearchResultCollection.js" />
NzbDrone.AddSeries.ExistingFolderItemView = Backbone.Marionette.ItemView.extend({
template: "AddSeries/ImportExistingSeries/ImportSeriesTemplate",
events: {
//'click .x-add': 'add'
}
});
NzbDrone.AddSeries.ExistingFolderListView = Backbone.Marionette.CollectionView.extend({
itemView: NzbDrone.AddSeries.ExistingFolderItemView,
initialize: function () {
if (this.collection === undefined) {
throw "root folder collection is required.";
}
this.listenTo(this.collection, 'reset', this.render, this);
}
});

View File

@ -3,7 +3,7 @@
/// <reference path="SearchResultView.js" />
NzbDrone.AddSeries.AddNewSeriesView = Backbone.Marionette.Layout.extend({
template: 'AddSeries/AddNewSeries/AddNewSeriesTemplate',
template: 'AddSeries/New/AddNewSeriesTemplate',
route: 'Series/add/new',
ui: {
@ -16,6 +16,8 @@ NzbDrone.AddSeries.AddNewSeriesView = Backbone.Marionette.Layout.extend({
collection: new NzbDrone.AddSeries.SearchResultCollection(),
initialize: function (options) {
if (options.rootFolders === undefined) {
throw 'rootFolder arg. is required.';
@ -25,6 +27,7 @@ NzbDrone.AddSeries.AddNewSeriesView = Backbone.Marionette.Layout.extend({
throw 'qualityProfiles arg. is required.';
}
this.rootFoldersCollection = options.rootFolders;
this.qualityProfilesCollection = options.qualityProfiles;
},

View File

@ -7,7 +7,7 @@
NzbDrone.AddSeries.SearchItemView = Backbone.Marionette.ItemView.extend({
template: "AddSeries/AddNewSeries/SearchResultTemplate",
template: "AddSeries/New/SearchResultTemplate",
className: 'search-item',
ui: {

View File

@ -5,7 +5,7 @@
NzbDrone.AddSeries.RootDirItemView = Backbone.Marionette.ItemView.extend({
template: 'AddSeries/RootDir/RootDirItemTemplate',
template: 'AddSeries/RootFolders/RootDirItemTemplate',
tagName: 'tr',
events: {
@ -31,7 +31,7 @@ NzbDrone.AddSeries.RootDirListView = Backbone.Marionette.CollectionView.extend({
});
NzbDrone.AddSeries.RootDirView = Backbone.Marionette.Layout.extend({
template: 'AddSeries/RootDir/RootDirTemplate',
template: 'AddSeries/RootFolders/RootDirTemplate',
route: 'series/add/rootdir',
ui: {

View File

@ -1,5 +1,5 @@
/// <reference path="../app.js" />
/// <reference path="RootDir/RootDirCollection.js" />
/// <reference path="RootFolders/RootDirCollection.js" />
/// <reference path="../Quality/qualityProfileCollection.js" />
NzbDrone.AddSeries.SearchResultModel = Backbone.Model.extend({
mutators: {

View File

@ -1,12 +1,4 @@
/// <reference path="../app.js" />
NzbDrone.Shared.NotificationCollection = Backbone.Collection.extend({
model: NzbDrone.Shared.NotificationModel,
});
NzbDrone.Shared.NotificationModel = Backbone.Model.extend({
mutators: {
@ -40,3 +32,10 @@ NzbDrone.Shared.NotificationModel = Backbone.Model.extend({
"message": "",
}
});
NzbDrone.Shared.NotificationCollection = Backbone.Collection.extend({
model: NzbDrone.Shared.NotificationModel,
});

View File

@ -2,7 +2,7 @@
/// <reference path="NotificationModel.js" />
NzbDrone.Shared.NotificationItemView = Backbone.Marionette.ItemView.extend({
template: "Shared/NotificationTemplate",
template: 'Shared/NotificationTemplate',
events: {
'click .x-close': 'kill'
@ -67,7 +67,7 @@ $(document).ajaxError(function (event, xmlHttpRequest, ajaxOptions) {
model.set('title', ajaxOptions.type + " " + ajaxOptions.url + " : " + xmlHttpRequest.statusText);
model.set('message', xmlHttpRequest.responseText);
model.set('level', 'error');
NzbDrone.Shared.NotificationCollectionView.Instance.collection.add(model);
NzbDrone.Shared.NotificationCollectionView.Instance.collection.push(model);
var suppressErrorAlert = false;
return suppressErrorAlert;

View File

@ -17,10 +17,13 @@ if (typeof console === undefined) {
}
NzbDrone = new Backbone.Marionette.Application();
NzbDrone.Series = NzbDrone.module('Series');
NzbDrone.AddSeries = NzbDrone.module('AddSeries');
NzbDrone.Quality = NzbDrone.module('Quality');
NzbDrone.Shared = NzbDrone.module('Shared');
NzbDrone.Series = {};
NzbDrone.AddSeries = {};
NzbDrone.AddSeries.New = {};
NzbDrone.AddSeries.Existing = {};
NzbDrone.AddSeries.RootFolders = {};
NzbDrone.Quality = {};
NzbDrone.Shared = {};
/*
_.templateSettings = {

View File

@ -2,6 +2,7 @@
<FileVersion>1</FileVersion>
<AutoEnableOnStartup>False</AutoEnableOnStartup>
<AllowParallelTestExecution>true</AllowParallelTestExecution>
<AllowTestsToRunInParallelWithThemselves>true</AllowTestsToRunInParallelWithThemselves>
<FrameworkUtilisationTypeForNUnit>UseDynamicAnalysis</FrameworkUtilisationTypeForNUnit>
<FrameworkUtilisationTypeForGallio>Disabled</FrameworkUtilisationTypeForGallio>
<FrameworkUtilisationTypeForMSpec>Disabled</FrameworkUtilisationTypeForMSpec>

View File

@ -38,6 +38,19 @@ $ModelName$Collection = Backbone.Collection.extend({&#xD;
&#xD;
});&#xD;
</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/@KeyIndexDefined">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Description/@EntryValue">Create a new Method</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Field/=name/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Field/=name/Order/@EntryValue">0</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Reformat/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Scope/=FFA15E6CFCBE90499C572A859225B012/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Scope/=FFA15E6CFCBE90499C572A859225B012/Type/@EntryValue">InJavaScriptFile</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Shortcut/@EntryValue">func</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5FF6ECA7884F0F45BAB165819AF9DA75/Text/@EntryValue"> $name$: function () {&#xD;
&#xD;
},</s:String>
@ -78,6 +91,50 @@ $ModelName$Collection = Backbone.Collection.extend({&#xD;
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=686B0D0C738CD1449F9389FEB5A34944/Shortcut/@EntryValue">model</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=686B0D0C738CD1449F9389FEB5A34944/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=686B0D0C738CD1449F9389FEB5A34944/Text/@EntryValue">$ModelName$ = Backbone.M</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/@KeyIndexDefined">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Description/@EntryValue">Subscribe to event</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Event/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Event/Order/@EntryValue">1</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Handler/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Handler/Expression/@EntryValue">typeMember()</s:String>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Handler/Order/@EntryValue">2</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Target/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Field/=Target/Order/@EntryValue">0</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Reformat/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Scope/=FFA15E6CFCBE90499C572A859225B012/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Scope/=FFA15E6CFCBE90499C572A859225B012/Type/@EntryValue">InJavaScriptFile</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Shortcut/@EntryValue">vent</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=8EC91D4AC875274D9804299C81802FB3/Text/@EntryValue">NzbDrone.vent.listenTo($Target$, '$Event$', this.$Handler$, this);&#xD;
</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/@KeyIndexDefined">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Field/=event/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Field/=event/Order/@EntryValue">0</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Field/=handler/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Field/=handler/Order/@EntryValue">2</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Field/=selector/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Field/=selector/Order/@EntryValue">1</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Reformat/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Scope/=FFA15E6CFCBE90499C572A859225B012/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Scope/=FFA15E6CFCBE90499C572A859225B012/Type/@EntryValue">InJavaScriptFile</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Shortcut/@EntryValue">events</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=CB2236C947CEAB4B90BDEB514C88F7B9/Text/@EntryValue"> events: {&#xD;
'$event$ .x-$selector$': '$handler$'&#xD;
},</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/@KeyIndexDefined">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Description/@EntryValue">Add Initialize Method</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Reformat/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Scope/=FFA15E6CFCBE90499C572A859225B012/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Scope/=FFA15E6CFCBE90499C572A859225B012/Type/@EntryValue">InJavaScriptFile</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Shortcut/@EntryValue">init</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=D02CEEFCB5BA1E4C8660DD8D7D09D183/Text/@EntryValue"> initialize: function () {&#xD;
&#xD;
},</s:String>