From 0b5cf678037eb385dcee507717ae799d7dd4e0b5 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sat, 31 Aug 2019 13:45:43 +0200 Subject: [PATCH] details page, layout and inpage functions + back button --- .../sai/saimod_project/js/saimod_project.js | 24 ++++ .../sai/saimod_project/saimod_project.php | 63 +++++++++ .../sql/SELECT_BADGES_PROJECT.php | 36 +++++ .../sai/saimod_project/sql/SELECT_PROJECT.php | 35 +++++ .../saimod_project/sql/mysql/system_api.sql | 3 +- .../saimod_project/sql/mysql/system_page.sql | 3 +- .../saimod_project/tpl/badge_color_option.tpl | 1 + .../tpl/saimod_project_badge_tr.tpl | 22 +++ .../tpl/saimod_project_details.tpl | 130 ++++++++++++++++++ .../tpl/saimod_project_image_file.tpl | 1 + 10 files changed, 316 insertions(+), 2 deletions(-) create mode 100644 wecker_manufaktur/sai/saimod_project/sql/SELECT_BADGES_PROJECT.php create mode 100644 wecker_manufaktur/sai/saimod_project/sql/SELECT_PROJECT.php create mode 100644 wecker_manufaktur/sai/saimod_project/tpl/badge_color_option.tpl create mode 100644 wecker_manufaktur/sai/saimod_project/tpl/saimod_project_badge_tr.tpl create mode 100644 wecker_manufaktur/sai/saimod_project/tpl/saimod_project_details.tpl create mode 100644 wecker_manufaktur/sai/saimod_project/tpl/saimod_project_image_file.tpl diff --git a/wecker_manufaktur/sai/saimod_project/js/saimod_project.js b/wecker_manufaktur/sai/saimod_project/js/saimod_project.js index 951b905..f8c20f3 100644 --- a/wecker_manufaktur/sai/saimod_project/js/saimod_project.js +++ b/wecker_manufaktur/sai/saimod_project/js/saimod_project.js @@ -124,4 +124,28 @@ function init_saimod_project() { }); }); +} + +function init_saimod_project_details(){ + $('#input-project-image').change(function(){ + $('#output-project-image').attr('src','./files/projects/'+$(this).val()) + }); + + //.input-badge-color + $('.input-badge-badge, #input-focus-badge, #input-type-badge').on('input',function(){ + $(this).parent().parent().find('.badge').html($(this).val()); + }); + $('.input-badge-color, #input-focus-color, #input-type-color').change(function(){ + $(this).parent().parent().find('.badge').removeClass(function (index, className) { + return (className.match (/(^|\s)badge-\S+/g) || []).join(' '); + }); + $(this).parent().parent().find('.badge').addClass($(this).val()); + }); + + $('#btn-project-back').click(function(){ + system.back(); + }); + $('#btn-project-update').click(function(){ + + }); } \ No newline at end of file diff --git a/wecker_manufaktur/sai/saimod_project/saimod_project.php b/wecker_manufaktur/sai/saimod_project/saimod_project.php index b933836..9446f98 100644 --- a/wecker_manufaktur/sai/saimod_project/saimod_project.php +++ b/wecker_manufaktur/sai/saimod_project/saimod_project.php @@ -82,6 +82,69 @@ class saimod_project extends \SYSTEM\SAI\sai_module{ return \SYSTEM\LOG\JsonResult::ok(); } + public static function sai_mod__SAI_saimod_project_action_project_details($project){ + // $vars = array(); + $vars = \SQL\SELECT_PROJECT::Q1(array($project)); + + $vars['selected_invisible'] = $vars['visible'] !== 1 ? 'selected' : ''; + $vars['selected_visible'] = $vars['visible'] == 1 ? 'selected' : ''; + + //images + $images = \SYSTEM\FILES\files::get('projects'); + $vars['images'] = ''; + foreach($images as $image){ + $img = ['name' => $image, 'selected' => $vars['img'] == $image ? 'selected' : '']; + $vars['images'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_project_image_file.tpl'))->SERVERPATH(),$img); + } + + // Focus + $vars['focus'] = ''; + $focus = \SQL\SELECT_BADGES_PROJECT::QQ(array(self::BADGE_TYPE_PROJECT_FOCUS,$project)); + while($row = $focus->next()){ + $row['selected_invisible'] = $row['visible'] !== 1 ? 'selected' : ''; + $row['selected_visible'] = $row['visible'] == 1 ? 'selected' : ''; + + $row['badge_colors'] = self::badge_color_options($row['color']); + + $vars['focus'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_project_badge_tr.tpl'))->SERVERPATH(),$row); + } + + // Type + $vars['type'] = ''; + $type = \SQL\SELECT_BADGES_PROJECT::QQ(array(self::BADGE_TYPE_PROJECT_TYPE,$project)); + while($row = $type->next()){ + $row['selected_invisible'] = $row['visible'] !== 1 ? 'selected' : ''; + $row['selected_visible'] = $row['visible'] == 1 ? 'selected' : ''; + + $row['badge_colors'] = self::badge_color_options($row['color']); + + $vars['type'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_project_badge_tr.tpl'))->SERVERPATH(),$row); + } + + $vars['badge_colors'] = self::badge_color_options(); + + return \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_project_details.tpl'))->SERVERPATH(),$vars); + } + + private static function badge_color_options($selected = null){ + $colors = array( + 'badge-primary', + 'badge-secondary', + 'badge-success', + 'badge-danger', + 'badge-warning', + 'badge-info', + 'badge-light', + 'badge-dark' + ); + $result = ''; + foreach($colors as $color){ + $vars = array('value' => $color, 'selected' => $color == $selected ? 'selected' : ''); + $result .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/badge_color_option.tpl'))->SERVERPATH(),$vars); + } + return $result; + } + public static function menu(){ return new \SYSTEM\SAI\sai_module_menu( 101, \SYSTEM\SAI\sai_module_menu::POISITION_LEFT, diff --git a/wecker_manufaktur/sai/saimod_project/sql/SELECT_BADGES_PROJECT.php b/wecker_manufaktur/sai/saimod_project/sql/SELECT_BADGES_PROJECT.php new file mode 100644 index 0000000..6cfd6bb --- /dev/null +++ b/wecker_manufaktur/sai/saimod_project/sql/SELECT_BADGES_PROJECT.php @@ -0,0 +1,36 @@ +${value} \ No newline at end of file diff --git a/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_badge_tr.tpl b/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_badge_tr.tpl new file mode 100644 index 0000000..de988cd --- /dev/null +++ b/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_badge_tr.tpl @@ -0,0 +1,22 @@ + + ${badge} + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_details.tpl b/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_details.tpl new file mode 100644 index 0000000..4ceeeab --- /dev/null +++ b/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_details.tpl @@ -0,0 +1,130 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Image Not Found + + +
Name
Info
Website
Visibility + +
Focus
+ + + + + + + + + + + + + ${focus} + + + + + + + + + +
PreviewBadgeColorOrderVisible + +
+ + + + + +
+
Type
+ + + + + + + + + + + + + ${type} + + + + + + + + + +
PreviewBadgeColorOrderVisible + +
+ + + + + +
+
+ + +
+
\ No newline at end of file diff --git a/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_image_file.tpl b/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_image_file.tpl new file mode 100644 index 0000000..63340a7 --- /dev/null +++ b/wecker_manufaktur/sai/saimod_project/tpl/saimod_project_image_file.tpl @@ -0,0 +1 @@ + \ No newline at end of file