Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
laravel-adminpanel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
laravel-adminpanel
Commits
009599af
Unverified
Commit
009599af
authored
Mar 31, 2018
by
Vipul Basapati
Committed by
GitHub
Mar 31, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #197 from viralsolani/develop
Refactored Menu Module Js
parents
23cc26ba
191e8a27
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
242 additions
and
180 deletions
+242
-180
admin.js
public/js/backend/admin.js
+238
-12
app.blade.php
resources/views/backend/layouts/app.blade.php
+1
-0
form.blade.php
resources/views/backend/menus/form.blade.php
+2
-168
webpack.mix.js
webpack.mix.js
+1
-0
No files found.
public/js/backend/admin.js
View file @
009599af
This diff is collapsed.
Click to expand it.
resources/views/backend/layouts/app.blade.php
View file @
009599af
...
...
@@ -42,6 +42,7 @@
</script>
</head>
<body
class=
"skin-{{ config('backend.theme') }} {{ config('backend.layout') }}"
>
<div
class=
"loading"
style=
"display:none"
></div>
@include('includes.partials.logged-in-as')
<div
class=
"wrapper"
>
...
...
resources/views/backend/menus/form.blade.php
View file @
009599af
...
...
@@ -56,173 +56,7 @@
@section("after-scripts")
{{ Html::script('js/nestable2/jquery.nestable.js') }}
<script
type=
"text/javascript"
>
var
formName
=
'
_add_custom_url_form
'
;
var
lastId
=
null
;
$
(
'
#menu-items
'
).
nestable
({
callback
:
function
(
l
,
e
){
$
(
"
.menu-items-field
"
).
val
(
JSON
.
stringify
(
$
(
l
).
nestable
(
'
serialise
'
)));
},
json
:
$
(
"
.menu-items-field
"
).
val
(),
includeContent
:
true
,
scroll
:
false
,
maxDepth
:
10
});
$
(
"
.show-modal
"
).
click
(
function
(){
$
(
"
#showMenuModal
"
).
find
(
"
.modal-dialog .modal-content .modal-header .modal-title
"
).
html
(
$
(
this
).
attr
(
"
data-header
"
));
formName
=
$
(
this
).
attr
(
"
data-form
"
);
$
(
"
#showMenuModal
"
).
modal
(
"
show
"
);
setTimeout
(
function
()
{
$
(
document
).
find
(
"
#showMenuModal .view-permission-block
"
).
remove
();
$
(
document
).
find
(
"
#menu-add-custom-url
"
).
removeClass
(
"
hidden
"
);
},
500
);
});
$
(
"
#showMenuModal
"
).
on
(
'
show.bs.modal
'
,
function
()
{
$
.
get
(
"
{{ route('admin.menus.getform') }}/
"
+
formName
,
function
(
data
,
status
){
if
(
status
==
"
success
"
)
{
$
(
"
#showMenuModal
"
).
find
(
"
.modal-dialog .modal-content .modal-body
"
).
html
(
data
);
}
else
{
$
(
"
#showMenuModal
"
).
find
(
"
.modal-dialog .modal-content .modal-body
"
).
html
(
"
Something went wrong! Please try again later.
"
);
}
});
});
var
getNewId
=
function
(
str
)
{
var
arr
=
str
.
match
(
/"id":
[
0-9
]
+/gi
);
if
(
arr
)
{
$
.
each
(
arr
,
function
(
index
,
item
)
{
arr
[
index
]
=
parseInt
(
item
.
replace
(
'
"id":
'
,
''
));
});
return
Math
.
max
.
apply
(
Math
,
arr
)
+
1
;
}
return
1
;
}
var
addMenuItem
=
function
(
obj
)
{
$
(
'
#menu-items
'
).
nestable
(
'
add
'
,
{
"
id
"
:
getNewId
(
$
(
"
.menu-items-field
"
).
val
()),
"
content
"
:
obj
.
name
,
"
name
"
:
obj
.
name
,
"
url
"
:
obj
.
url
,
"
url_type
"
:
obj
.
url_type
,
"
open_in_new_tab
"
:
obj
.
open_in_new_tab
,
"
icon
"
:
obj
.
icon
,
"
view_permission_id
"
:
obj
.
view_permission_id
});
$
(
"
.menu-items-field
"
).
val
(
JSON
.
stringify
(
$
(
'
#menu-items
'
).
nestable
(
'
serialise
'
)));
}
var
editMenuItem
=
function
(
obj
)
{
var
newObject
=
{
"
id
"
:
obj
.
id
,
"
content
"
:
obj
.
name
,
"
name
"
:
obj
.
name
,
"
url
"
:
obj
.
url
,
"
url_type
"
:
obj
.
url_type
,
"
open_in_new_tab
"
:
obj
.
open_in_new_tab
,
"
icon
"
:
obj
.
icon
,
"
view_permission_id
"
:
obj
.
view_permission_id
};
var
menuItems
=
$
(
"
#menu-items
"
).
nestable
(
'
serialise
'
);
var
itemData
;
$
.
each
(
menuItems
,
function
(
index
,
item
){
itemData
=
findItemById
(
item
,
id
);
if
(
itemData
)
{
return
false
;
}
});
if
(
itemData
.
children
)
{
newObject
.
children
=
itemData
.
children
;
}
$
(
'
#menu-items
'
).
nestable
(
'
replace
'
,
newObject
);
$
(
"
.menu-items-field
"
).
val
(
JSON
.
stringify
(
$
(
'
#menu-items
'
).
nestable
(
'
serialise
'
)));
}
$
(
document
).
on
(
"
submit
"
,
"
#menu-add-custom-url
"
,
function
(
e
){
e
.
preventDefault
();
var
formData
=
$
(
this
).
serializeArray
().
reduce
(
function
(
obj
,
item
)
{
obj
[
item
.
name
]
=
item
.
value
;
return
obj
;
},
{});
if
(
formData
.
name
.
length
>
0
)
{
if
(
formData
.
id
.
length
>
0
)
{
editMenuItem
(
formData
);
}
else
{
addMenuItem
(
formData
);
}
$
(
"
#showMenuModal
"
).
modal
(
"
hide
"
);
}
});
$
(
document
).
on
(
"
click
"
,
"
.add-module-to-menu
"
,
function
(){
var
dataObj
=
{
id
:
$
(
this
).
attr
(
"
data-id
"
),
name
:
$
(
this
).
attr
(
"
data-name
"
),
url
:
$
(
this
).
attr
(
"
data-url
"
),
url_type
:
$
(
this
).
attr
(
"
data-url_type
"
),
open_in_new_tab
:
$
(
this
).
attr
(
"
data-open_in_new_tab
"
),
view_permission_id
:
$
(
this
).
attr
(
"
data-view_permission_id
"
),
}
addMenuItem
(
dataObj
);
});
var
findItemById
=
function
(
item
,
id
)
{
if
(
item
.
id
==
id
)
{
return
item
;
}
var
found
=
false
;
var
foundItem
;
if
(
item
.
children
){
$
.
each
(
item
.
children
,
function
(
index
,
childItem
){
foundItem
=
findItemById
(
childItem
,
id
);
if
(
foundItem
)
{
console
.
log
(
foundItem
);
found
=
true
;
return
false
;
}
});
}
if
(
found
)
{
return
foundItem
;
}
return
null
;
};
$
(
document
).
ready
(
function
(){
$
(
document
).
on
(
"
click
"
,
"
.edit-menu-item
"
,
function
()
{
id
=
$
(
this
).
parents
(
"
.dd-item
"
).
first
().
attr
(
"
data-id
"
);
$
(
"
#showMenuModal
"
).
modal
(
"
show
"
);
var
menuItems
=
$
(
"
#menu-items
"
).
nestable
(
'
serialise
'
);
var
itemData
;
$
.
each
(
menuItems
,
function
(
index
,
item
){
itemData
=
findItemById
(
item
,
id
);
//console.log(itemData);
if
(
itemData
)
{
return
false
;
}
});
if
(
itemData
.
id
!=
undefined
&&
itemData
.
id
==
id
)
{
setTimeout
(
function
()
{
$
(
"
#showMenuModal
"
).
find
(
"
.modal-dialog .modal-content .modal-header .modal-title
"
).
html
(
"
Edit:
"
+
itemData
.
name
);
$
(
document
).
find
(
"
#showMenuModal .mi-id
"
).
val
(
itemData
.
id
);
$
(
document
).
find
(
"
#showMenuModal .mi-name
"
).
val
(
itemData
.
name
);
$
(
document
).
find
(
"
#showMenuModal .mi-url
"
).
val
(
itemData
.
url
);
$
(
document
).
find
(
"
#showMenuModal .mi-url_type_
"
+
itemData
.
url_type
).
prop
(
"
checked
"
,
true
);
if
(
itemData
.
open_in_new_tab
==
1
)
{
$
(
document
).
find
(
"
#showMenuModal .mi-open_in_new_tab
"
).
prop
(
"
checked
"
,
true
);
}
$
(
document
).
find
(
"
#showMenuModal .mi-icon
"
).
val
(
itemData
.
icon
);
if
(
itemData
.
view_permission_id
)
{
$
(
document
).
find
(
"
#showMenuModal .mi-view_permission_id
"
).
val
(
itemData
.
view_permission_id
);
}
else
{
$
(
document
).
find
(
"
#showMenuModal .view-permission-block
"
).
remove
();
}
$
(
document
).
find
(
"
#menu-add-custom-url
"
).
removeClass
(
"
hidden
"
);
},
500
);
return
;
}
});
$
(
document
).
on
(
"
click
"
,
"
.remove-menu-item
"
,
function
()
{
$
(
"
#menu-items
"
).
nestable
(
'
remove
'
,
$
(
this
).
parents
(
"
.dd-item
"
).
first
().
attr
(
"
data-id
"
));
$
(
"
.menu-items-field
"
).
val
(
JSON
.
stringify
(
$
(
"
#menu-items
"
).
nestable
(
'
serialise
'
)));
});
});
Backend
.
Menu
.
selectors
.
formUrl
=
"
{{route('admin.menus.getform')}}
"
;
Backend
.
Menu
.
init
();
</script>
@endsection
webpack.mix.js
View file @
009599af
...
...
@@ -21,6 +21,7 @@ mix.sass('resources/assets/sass/frontend/app.scss', 'public/css/frontend.css')
'
public/js/select2/select2.css
'
,
'
public/css/bootstrap.min.css
'
,
'
public/css/custom-style.css
'
,
'
public/css/loader.css
'
,
'
public/css/bootstrap-datetimepicker.min.css
'
],
'
public/css/backend-custom.css
'
)
.
js
([
...
...
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