Project

General

Profile

1
import {Page} from './page';
2
import {Entity} from './entity';
3

    
4
export class Portal {
5
    _id: string;
6
    pid: string;
7
    name: string;
8
    type: string;
9
    piwik:number;
10
    entities: string[] | Entity[];
11
    pages: string[] | Page[];
12

    
13
     private static getmockPortalInfo():any{
14
       return {
15
         "pid": "",
16
         "name": "",
17
         "type": "",
18
         "pages": [
19
           //deposit
20
           {
21
             "route": "/participate/deposit/search",
22
             "isEnabled": true
23
           },
24
           {
25
             "route": "/participate/deposit/learn-how",
26
             "isEnabled": true
27
           },
28
           //home
29
           {
30
             "route": "/",
31
             "isEnabled": true
32
           },
33
           //claims
34
           {
35
             "route": "/participate/claim",
36
             "isEnabled": true,
37

    
38
           },
39
           {
40
             "route": "/myclaims",
41
             "isEnabled": true,
42
           },
43
           {
44
             "route": "/claims",
45
             "isEnabled": true,
46
           },
47
           {
48
             "route": "/participate/direct-claim",
49
             "isEnabled": true
50
           },
51
           // /advanced search
52
           {
53
             "route": "/search/advanced/dataproviders",
54
             "isEnabled": true
55
           },
56
           {
57
             "route": "/search/advanced/organizations",
58
             "isEnabled": true
59
           },
60
           {
61
             "route": "/search/advanced/projects",
62
             "isEnabled": true
63
           },
64
           {
65
             "route": "/search/advanced/research-outcomes",
66
             "isEnabled": true
67
           },
68
           //search all
69

    
70
           {
71
             "route": "/search/find",
72
             "isEnabled": true
73
           },
74
           //simple search
75
           {
76
             "route": "/search/find/dataproviders",
77
             "isEnabled": true
78
           },
79

    
80
           {
81
             "route": "/search/find/organizations",
82
             "isEnabled": true
83
           },
84

    
85
           {
86
             "route": "/search/find/projects",
87
             "isEnabled": true
88
           },
89

    
90
           {
91
             "route": "/search/find/research-outcomes",
92
             "isEnabled": true
93
           },
94
           //landing
95
           {
96
             "route": "/search/dataprovider",
97
             "isEnabled": true
98
           },
99

    
100
           {
101
             "route": "/search/organization",
102
             "isEnabled": true,
103
           },
104
           {
105
             "route": "/search/other",
106
             "isEnabled": true,
107
           },
108
           {
109
             "route": "/search/project",
110
             "isEnabled": true
111
           },
112
           {
113
             "route": "/project-report",
114
             "isEnabled": true
115
           },
116
           {
117
             "route": "/search/publication",
118
             "isEnabled": true
119
           },
120
           {
121
             "route": "/search/dataset",
122
             "isEnabled": true
123
           },
124
           {
125
             "route": "/search/content-providers",
126
             "isEnabled": true
127
           },
128
           {
129
             "route": "/search/software",
130
             "isEnabled": true
131
           },
132
           {
133
             "route": "/search/organization",
134
             "isEnabled": true
135
           },
136
           {
137
             "route": "/develop",
138
             "isEnabled": true
139
           }
140
         ],
141
         "entities": [
142
           {
143
             "pid": "publication",
144
             "isEnabled": true
145
           },
146
           {
147
             "pid": "dataset",
148
             "isEnabled": true
149
           },
150
           {
151
             "pid": "software",
152
             "isEnabled": true
153
           },
154
           {
155
             "pid": "project",
156
             "isEnabled": true
157
           },
158
           {
159
             "pid": "organization",
160
             "isEnabled": true
161
           },
162
           {
163
             "pid": "datasource",
164
             "isEnabled": true
165
           },
166
           {
167
             "pid": "orp",
168
             "isEnabled": true
169
           }
170
         ],
171
       };;
172
     };
173

    
174
  public static getMockCommunityInfo(disabledEntities:string[],disabledPages:string[]): any {
175
    let communityInfo = Object.assign({}, Portal.getmockPortalInfo());
176
      for(let disabledPage of disabledPages) {
177
        for (var i = 0; i < communityInfo.pages.length; i++) {
178
          if (communityInfo.pages[i].route == disabledPage) {
179
            communityInfo.pages.splice(i, 1);
180
            break;
181
          }
182
        }
183
      }
184
      for(let disableEntity of disabledEntities){
185
        for (var i = 0; i < communityInfo.entities.length; i++) {
186
          if (communityInfo.entities[i].pid == disableEntity) {
187
            communityInfo.entities.splice(i, 1);
188
            break;
189
          }
190
        }
191
      }
192

    
193
    return communityInfo;
194
  }
195
}
196

    
197
export interface CheckPortal {
198
   portal: Portal;
199
   checked: boolean;
200
}
201

    
(8-8/8)