Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Fukász Rómeó Ervin
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
0393bf07
authored
May 22, 2013
by
Bence Dányi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
firewall_gui: reload entity list after delete
parent
10ad5fcd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
77 additions
and
58 deletions
+77
-58
firewall_gui/static/js/project.js
+77
-58
No files found.
firewall_gui/static/js/project.js
View file @
0393bf07
...
...
@@ -225,10 +225,23 @@ function ListController(url) {
$scope
.
prevPage
=
function
()
{
$scope
.
page
=
Math
.
max
(
$scope
.
page
-
1
,
1
);
};
$http
.
get
(
url
).
success
(
function
success
(
data
)
{
rules
=
data
;
$scope
.
pages
=
range
(
1
,
Math
.
ceil
(
data
.
length
/
pageSize
));
});
$scope
.
deleteEntity
=
function
(
id
)
{
$
.
ajax
({
url
:
url
.
split
(
'/'
)[
2
]
+
'/'
+
id
+
'/delete/'
,
type
:
'post'
,
success
:
reloadList
});
};
function
reloadList
()
{
$http
.
get
(
url
).
success
(
function
success
(
data
)
{
rules
=
data
;
$scope
.
pages
=
range
(
1
,
Math
.
ceil
(
data
.
length
/
pageSize
));
});
}
reloadList
();
}
}
...
...
@@ -275,7 +288,8 @@ function EntityController(url, init) {
console
.
log
(
data
);
$scope
.
$apply
(
function
()
{
$scope
.
errors
=
{};
})
});
window
.
location
.
hash
=
'/'
+
url
.
split
(
'/'
)[
2
]
+
'/'
+
data
+
'/'
;
}
}).
error
(
function
(
data
)
{
try
{
...
...
@@ -293,61 +307,66 @@ function EntityController(url, init) {
}
})
}
$http
.
get
(
url
+
id
+
'/'
).
success
(
function
success
(
data
)
{
$
scope
.
entity
=
data
;
$
(
'input[type=text], input[type=number], select, textarea, .has-tooltip'
).
tooltip
({
placement
:
'right'
})
;
[
'vlan'
,
'vlangroup'
,
'host'
,
'hostgroup'
,
'firewall'
,
'owner'
,
'domain'
,
'record'
].
forEach
(
function
(
t
)
{
$
(
'.'
+
t
).
typeahead
({
/**
* Typeahead does AJAX queries
* @param {String} query Partial name of the entity
* @param {Function} process Callback function after AJAX returned result
*/
source
:
function
(
query
,
process
)
{
$
.
ajax
({
url
:
'/firewall/autocomplete/'
+
t
+
'/'
,
type
:
'post'
,
data
:
'name='
+
query
,
success
:
function
autocompleteSuccess
(
data
)
{
process
(
data
.
map
(
function
(
obj
)
{
return
obj
.
name
;
}));
}
})
;
},
/**
* Filtering is done on server-side, show all results
* @return {Boolean} Always true, so all result are visible
*/
matcher
:
function
()
{
return
true
;
},
/**
* Typeahead does not trigger proper DOM events, so we have to refresh
* the model manually.
* @param {String} item Selected entity name
* @return {String} Same as `item`, the input value is set to this
*/
updater
:
function
(
item
)
{
var
self
=
this
;
console
.
log
(
this
);
$scope
.
$apply
(
function
(
)
{
var
model
=
self
.
$element
[
0
].
getAttribute
(
'ng-model'
).
split
(
'.'
)[
1
]
;
console
.
log
(
self
.
$element
[
0
].
getAttribute
(
'ng-model'
),
model
);
try
{
$scope
.
entity
[
model
].
name
=
item
;
}
catch
(
ex
)
{
function
reloadEntity
(
)
{
$
http
.
get
(
url
+
id
+
'/'
).
success
(
function
success
(
data
)
{
$scope
.
entity
=
data
;
$
(
'input[type=text], input[type=number], select, textarea, .has-tooltip'
).
tooltip
(
{
placement
:
'right'
});
[
'vlan'
,
'vlangroup'
,
'host'
,
'hostgroup'
,
'firewall'
,
'owner'
,
'domain'
,
'record'
].
forEach
(
function
(
t
)
{
$
(
'.'
+
t
).
typeahead
({
/**
* Typeahead does AJAX queries
* @param {String} query Partial name of the entity
* @param {Function} process Callback function after AJAX returned result
*/
source
:
function
(
query
,
process
)
{
$
.
ajax
({
url
:
'/firewall/autocomplete/'
+
t
+
'/'
,
type
:
'post'
,
data
:
'name='
+
query
,
success
:
function
autocompleteSuccess
(
data
)
{
process
(
data
.
map
(
function
(
obj
)
{
return
obj
.
name
;
}));
}
});
},
/**
* Filtering is done on server-side, show all results
* @return {Boolean} Always true, so all result are visible
*/
matcher
:
function
()
{
return
true
;
},
/**
* Typeahead does not trigger proper DOM events, so we have to refresh
* the model manually.
* @param {String} item Selected entity name
* @return {String} Same as `item`, the input value is set to this
*/
updater
:
function
(
item
)
{
var
self
=
this
;
console
.
log
(
this
);
$scope
.
$apply
(
function
()
{
var
model
=
self
.
$element
[
0
].
getAttribute
(
'ng-model'
).
split
(
'.'
)[
1
]
;
console
.
log
(
self
.
$element
[
0
].
getAttribute
(
'ng-model'
),
model
);
try
{
$scope
[
self
.
$element
[
0
].
getAttribute
(
'ng-model'
)]
=
item
;
}
catch
(
ex
)
{
$scope
.
entity
[
model
].
name
=
item
;
}
catch
(
ex
)
{
try
{
$scope
[
self
.
$element
[
0
].
getAttribute
(
'ng-model'
)]
=
item
;
}
catch
(
ex
)
{
}
}
}
})
return
item
;
}
});
})
});
})
return
item
;
}
});
})
});
}
reloadEntity
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment