]> git.proxmox.com Git - pmg-gui.git/blob - js/MyNetworks.js
fix #5251: login: set autocomplete on password and user
[pmg-gui.git] / js / MyNetworks.js
1 Ext.define('pmg-mynetworks', {
2 extend: 'Ext.data.Model',
3 fields: ['cidr', 'comment'],
4 proxy: {
5 type: 'proxmox',
6 url: "/api2/json/config/mynetworks",
7 },
8 idProperty: 'cidr',
9 });
10
11 Ext.define('PMG.MyNetworks', {
12 extend: 'Ext.grid.GridPanel',
13 alias: ['widget.pmgMyNetworks'],
14
15 initComponent: function() {
16 let me = this;
17
18 let store = new Ext.data.Store({
19 model: 'pmg-mynetworks',
20 sorters: {
21 property: 'cidr',
22 direction: 'ASC',
23 },
24 });
25 let reload = () => store.load();
26
27 me.selModel = Ext.create('Ext.selection.RowModel', {});
28
29 let run_editor = function() {
30 let rec = me.selModel.getSelection()[0];
31 if (!rec) {
32 return;
33 }
34 Ext.createWidget('proxmoxWindowEdit', {
35 autoShow: true,
36 autoLoad: true,
37 url: "/api2/extjs/config/mynetworks/" + rec.data.cidr,
38 onlineHelp: 'pmgconfig_mailproxy_networks',
39 method: 'PUT',
40 subject: gettext("Trusted Network"),
41 items: [
42 {
43 xtype: 'displayfield',
44 name: 'cidr',
45 fieldLabel: gettext('CIDR'),
46 },
47 {
48 xtype: 'textfield',
49 name: 'comment',
50 fieldLabel: gettext("Comment"),
51 },
52 ],
53 listeners: {
54 destroy: () => reload(),
55 },
56 });
57 };
58
59 let tbar = [
60 {
61 text: gettext('Create'),
62 handler: () => Ext.createWidget('proxmoxWindowEdit', {
63 autoShow: true,
64 method: 'POST',
65 url: "/api2/extjs/config/mynetworks",
66 onlineHelp: 'pmgconfig_mailproxy_networks',
67 isCreate: true,
68 subject: gettext("Trusted Network"),
69 items: [
70 {
71 xtype: 'proxmoxtextfield',
72 name: 'cidr',
73 fieldLabel: gettext('CIDR'),
74 },
75 {
76 xtype: 'proxmoxtextfield',
77 name: 'comment',
78 fieldLabel: gettext("Comment"),
79 },
80 ],
81 listeners: {
82 destroy: () => reload(),
83 },
84 }),
85 },
86 '-',
87 {
88 xtype: 'proxmoxButton',
89 text: gettext('Edit'),
90 disabled: true,
91 selModel: me.selModel,
92 handler: run_editor,
93 },
94 {
95 xtype: 'proxmoxStdRemoveButton',
96 selModel: me.selModel,
97 baseurl: '/config/mynetworks',
98 callback: reload,
99 waitMsgTarget: me,
100 },
101 '->',
102 {
103 xtype: 'pmgFilterField',
104 filteredFields: ['cidr', 'comment'],
105 },
106 ];
107
108 Proxmox.Utils.monStoreErrors(me, store, true);
109
110 Ext.apply(me, {
111 store: store,
112 tbar: tbar,
113 run_editor: run_editor,
114 viewConfig: {
115 trackOver: false,
116 },
117 columns: [
118 {
119 header: gettext('Trusted Network'),
120 width: 200,
121 sortable: true,
122 dataIndex: 'cidr',
123 },
124 {
125 header: gettext('Comment'),
126 sortable: false,
127 renderer: Ext.String.htmlEncode,
128 dataIndex: 'comment',
129 flex: 1,
130 },
131 ],
132 listeners: {
133 itemdblclick: run_editor,
134 activate: reload,
135 },
136 });
137
138 me.callParent();
139 },
140 });