Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F885147
page-edit.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
page-edit.js
View Options
/**
* modules/page/page-edit.js
* Frontend code for general page properties
*
* Copyright Gottfried Haider, Danja Vasiliev 2010.
* This source code is licensed under the GNU General Public License.
* See the file COPYING for more details.
*/
$
(
document
).
ready
(
function
()
{
// set grid
$
.
glue
.
grid
.
x
(
$
.
glue
.
conf
.
page
.
default_grid_x
);
$
.
glue
.
grid
.
y
(
$
.
glue
.
conf
.
page
.
default_grid_y
);
// set guides
for
(
i
in
$
.
glue
.
conf
.
page
.
guides_x
)
{
$
.
glue
.
grid
.
add_guide_x
(
$
.
glue
.
conf
.
page
.
guides_x
[
i
]);
}
for
(
i
in
$
.
glue
.
conf
.
page
.
guides_y
)
{
$
.
glue
.
grid
.
add_guide_y
(
$
.
glue
.
conf
.
page
.
guides_y
[
i
]);
}
//
// register menu items
//
var
elem
;
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'modules/page/page-new.png" alt="btn" title="create a new page" width="32" height="32">'
);
$
(
elem
).
bind
(
'click'
,
function
(
e
)
{
$
.
glue
.
menu
.
hide
();
var
pn
=
prompt
(
'Name the page to be created'
);
if
(
pn
===
null
)
{
return
;
}
$
.
glue
.
backend
({
method
:
'glue.create_page'
,
page
:
pn
+
'.head'
},
function
(
data
)
{
// redirect to newly created page
window
.
location
=
$
.
glue
.
base_url
+
'?'
+
pn
+
'/edit'
;
});
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'modules/page/page-title.png" alt="btn" title="change page title" width="32" height="32">'
);
$
(
elem
).
bind
(
'click'
,
function
(
e
)
{
var
title
=
$
(
'title'
).
html
();
title
=
prompt
(
'Change the page title'
,
title
);
if
(
title
===
null
)
{
return
;
}
$
(
'title'
).
html
(
title
);
$
.
glue
.
backend
({
method
:
'glue.update_object'
,
name
:
$
.
glue
.
page
+
'.page'
,
'page-title'
:
title
});
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'img/background-color.png" alt="btn" title="change the background color" width="32" height="32">'
);
$
(
elem
).
bind
(
'click'
,
function
(
e
)
{
$
.
glue
.
colorpicker
.
show
(
$
(
'html'
).
css
(
'background-color'
),
false
,
function
(
col
)
{
$
(
'html'
).
css
(
'background-color'
,
col
);
},
function
(
col
)
{
// update grid as well
$
.
glue
.
grid
.
update
(
true
);
$
.
glue
.
backend
({
method
:
'glue.update_object'
,
name
:
$
.
glue
.
page
+
'.page'
,
'page-background-color'
:
col
});
});
$
.
glue
.
menu
.
hide
();
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'modules/page/page-grid.png" width="32" height="32">'
);
// also change tilte below
$
(
elem
).
attr
(
'title'
,
'show/hide grid or change grid size by dragging ('
+
$
.
glue
.
grid
.
x
()
+
'x'
+
$
.
glue
.
grid
.
y
()
+
')'
);
$
(
elem
).
bind
(
'mousedown'
,
function
(
e
)
{
var
that
=
this
;
$
.
glue
.
slider
(
e
,
function
(
x
,
y
,
evt
)
{
// rectangular grid when pressing shift
if
(
evt
.
shiftKey
)
{
if
(
x
<
y
)
{
x
=
y
;
}
else
{
y
=
x
;
}
}
// only update grid when grid size is <= 10px for performance reasons
var
update
=
false
;
if
(
10
<=
Math
.
abs
(
x
))
{
$
.
glue
.
grid
.
mode
(
1
);
$
.
glue
.
grid
.
x
(
Math
.
abs
(
x
));
update
=
true
;
}
if
(
10
<=
Math
.
abs
(
y
))
{
$
.
glue
.
grid
.
mode
(
1
);
$
.
glue
.
grid
.
y
(
Math
.
abs
(
y
));
update
=
true
;
}
if
(
update
)
{
$
.
glue
.
grid
.
update
(
true
);
}
},
function
(
x
,
y
)
{
if
(
Math
.
abs
(
x
)
<
10
&&
Math
.
abs
(
y
)
<
10
)
{
if
(
$
.
glue
.
grid
.
mode
())
{
$
.
glue
.
grid
.
mode
(
0
);
}
else
{
$
.
glue
.
grid
.
mode
(
1
);
}
$
.
glue
.
grid
.
update
();
}
// update backend
$
.
glue
.
backend
({
method
:
'page.set_grid'
,
'x'
:
$
.
glue
.
grid
.
x
(),
'y'
:
$
.
glue
.
grid
.
y
()
});
// update tooltip
$
(
that
).
attr
(
'title'
,
'show/hide grid or change grid size by dragging ('
+
$
.
glue
.
grid
.
x
()
+
'x'
+
$
.
glue
.
grid
.
y
()
+
')'
);
// close menu
$
.
glue
.
menu
.
hide
();
});
return
false
;
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'modules/page/page-delete.png" alt="btn" title="delete page" width="32" height="32">'
);
$
(
elem
).
bind
(
'click'
,
function
(
e
)
{
if
(
confirm
(
'Really delete the current page and all it\'s revisions?'
))
{
var
pn
=
$
.
glue
.
page
.
split
(
'.'
).
shift
();
var
pages
=
[];
// get all revisions
$
.
glue
.
backend
({
method
:
'glue.revisions'
,
pagename
:
pn
},
function
(
data
)
{
for
(
var
rev
in
data
)
{
pages
.
push
(
pn
+
'.'
+
data
[
rev
]);
}
// and delete them
for
(
var
page
in
pages
)
{
// DEBUG
//console.log('deleting '+pages[page]);
$
.
glue
.
backend
({
method
:
'glue.delete_page'
,
'page'
:
pages
[
page
]
});
}
// TODO (later): check if all revisions were indeed deleted
// redirect to "pages" controller
window
.
location
=
$
.
glue
.
base_url
+
'?pages'
;
});
}
$
.
glue
.
menu
.
hide
();
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'modules/page/page-url.png" alt="btn" title="change the page's url" width="32" height="32">'
);
$
(
elem
).
bind
(
'click'
,
function
(
e
)
{
var
old_pn
=
$
.
glue
.
page
.
split
(
'.'
).
shift
();
var
new_pn
=
prompt
(
'Change the page URL'
,
old_pn
);
if
(
new_pn
!=
null
&&
new_pn
!=
old_pn
)
{
$
.
glue
.
backend
({
method
:
'glue.rename_page'
,
'old'
:
old_pn
,
'new'
:
new_pn
},
function
(
data
)
{
// redirect to new url
window
.
location
=
$
.
glue
.
base_url
+
'?'
+
new_pn
+
'/edit'
;
});
}
$
.
glue
.
menu
.
hide
();
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
// TODO (later): glue.get_startpage
elem
=
$
(
'<img src="'
+
$
.
glue
.
base_url
+
'modules/page/page-set-startpage.png" alt="btn" title="make this the start page" width="32" height="32">'
);
$
(
elem
).
bind
(
'click'
,
function
(
e
)
{
$
.
glue
.
backend
({
method
:
'glue.set_startpage'
,
page
:
$
.
glue
.
page
});
$
.
glue
.
menu
.
hide
();
});
$
.
glue
.
menu
.
register
(
'page'
,
elem
);
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Apr 6, 13:30 (2 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24611
Default Alt Text
page-edit.js (5 KB)
Attached To
rZEDHG ZedLegacy
Event Timeline
Log In to Comment