๐Ÿ“ฆ directus / v6-archive

๐Ÿ“„ main.js ยท 59 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59define([
  'app',
  'core/extensions',
  './views/main',
  './views/example',
  './views/pageone',
  './views/pagetwo'
], function (app, Extension, MainView, ExampleView, PageOneView, PageTwoView) {
  var ext = {
    id: 'example_extension',
    icon: 'icon-folder',
    title: 'Example Extension'
  };

  ext.Router = Extension.Router.extend({
    routes: {
      "(/)":         "index",
      "/pageone":    "pageOne",
      "/pagetwo":    "pageTwo"
    },

    getMainView: function () {
      if (!this.mainView) {
        this.mainView = new MainView();
      }
      // Update the #content view with the extensions view. This will be refactored in 7.0 so that extensions don't need
      // to manage updating the app's #content view.
      app.router.v.main.setView('#content', this.mainView);

      return this.mainView;
    },

    setPage: function (view) {
      this.getMainView().getPage().setView('#example-extension-view', view);
    },

    index: function () {
      this.setPage(new ExampleView());
      app.router.v.main.render();
    },

    pageOne: function () {
      this.setPage(new PageOneView());
      app.router.v.main.render();
    },

    pageTwo: function () {
      this.setPage(new PageTwoView());
      app.router.v.main.render();
    },

    initialize: function () {
      //
    }
  });

  return ext;
});