Explorar el Código

룩북관리 개발중

bin2107 hace 5 años
padre
commit
45f60abcc0

+ 1 - 1
src/main/java/com/style24/admin/biz/service/TsaDisplayService.java

@@ -624,7 +624,7 @@ public class TsaDisplayService {
 						} else if (cnt == 7) {
 							contents.setImgPath7(contentsPath + yearMonth + "/" + newFilename);
 						} else if (cnt == 8) {
-							contents.setImgPath4(contentsPath + yearMonth + "/" + newFilename);
+							contents.setImgPath8(contentsPath + yearMonth + "/" + newFilename);
 						}
 						ind++;
 

+ 35 - 0
src/main/java/com/style24/admin/biz/web/TsaDisplayController.java

@@ -6,6 +6,7 @@ import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.util.GagaDateUtil;
 import com.style24.admin.biz.service.TsaBusinessService;
 import com.style24.admin.support.security.session.TsaSession;
+import com.style24.core.biz.service.TscLookbookService;
 import com.style24.core.biz.service.TscPopupService;
 import com.style24.persistence.TscPageRequest;
 import com.style24.persistence.domain.*;
@@ -49,6 +50,9 @@ public class TsaDisplayController extends TsaBaseController {
 	@Autowired
 	private TscPopupService corePopupService;
 
+	@Autowired
+	private TscLookbookService coreLookbookService;
+
 	/**
 	 * 카테고리관리 화면
 	 * @return
@@ -735,4 +739,35 @@ public class TsaDisplayController extends TsaBaseController {
 		return mav;
 	}
 
+	/**
+	 * 룩북 등록/수정 상세 팝업
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 3. 5
+	 */
+	@GetMapping("/lookbook/banner/popup/form")
+	public ModelAndView mainMultiContentsPopupForm(@RequestParam(value = "mode") String mode, @RequestParam(value = "lookbookSq", required = false) Integer lookbookSq) {
+		ModelAndView mav = new ModelAndView();
+		mav.addObject("mode", mode);
+		mav.addObject("lookbookSq", lookbookSq);
+		mav.addObject("brandGroupList", rendererService.getSelfBrandGroupList());
+		mav.setViewName("display/LookbookBannerPopupForm");
+		return mav;
+	}
+
+	/**
+	 * 룩북 등록/수정
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 3. 5
+	 */
+	@PostMapping("/lookbook/save")
+	@ResponseBody
+	public GagaResponse saveLookbook(@RequestBody Lookbook lookbook) {
+		log.info("lookbook:::::{}",lookbook);
+		lookbook.setRegNo(TsaSession.getInfo().getUserNo());
+		lookbook.setUpdNo(TsaSession.getInfo().getUserNo());
+		coreLookbookService.saveLookbook(lookbook);
+		return super.ok(message.getMessage("SUCC_0001"));
+	}
 }

+ 204 - 0
src/main/webapp/WEB-INF/views/display/LookbookBannerPopupForm.html

@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : LookbookBannerPopupForm.html
+ * @desc    : 룩북 배너 등록/수정 상세 팝업
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.03.05   bin2107     최초 작성
+ *******************************************************************************
+ -->
+<div class="modalPopup" data-width="1400" data-height="750">
+	<div class="panelStyle" >
+		<form id="lbBannerForm" name="lbBannerForm" action="#" th:action="@{'/display/lookbook/save'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
+			<input type="hidden" id="siteCd" name="siteCd" value="G00_10"/>
+			<input type="hidden" id="lookbookSq" name="lookbookSq" th:value="${lookbookSq}"/>
+			<div class="panelTitle">
+				<h2 th:text="${'룩북 ' + (mode == 'N' ? '등록1' : '상세')}"></h2>
+				<button type="button" class="close" onclick="uifnPopupClose('popupLookbookBanner');"><i class="fa fa-times"></i></button>
+			</div>
+			<div>
+				<table class="frmStyle">
+					<colgroup>
+						<col style="width:10%;"/>
+						<col style="width:15%;"/>
+						<col style="width:10%;"/>
+						<col style="width:15%;"/>
+						<col style="width:10%;"/>
+						<col style="width:15%;"/>
+						<col style="width:10%;"/>
+						<col style="width:15%;"/>
+					</colgroup>
+					<tbody>
+					<tr>
+						<th>타이틀<i class="required" title="필수"></i></th>
+						<td>
+							<input type="text" class="w400" name="title" required="required" data-valid-name="타이틀">
+						</td>
+						<th>브랜드<i class="required" title="필수"></i></th>
+						<td>
+							<select name="brandCd">
+								<option value="">[선택]</option>
+								<option th:if="${brandGroupList}" th:each="oneData, status : ${brandGroupList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<th>노출기간<i class="required" title="필수"></i></th>
+						<td id="sellTerms2">
+							<span class="nowrap">
+								<input name="lbDispStdt" id="lbStDate" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="노출기간 시작일" />
+								<select id="lbStTimeHour" required="required" data-valid-name="노출기간 시작시간">
+									<th:block th:each="num, index  : ${#numbers.sequence(0,23)}">
+										<option  th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}시|" >시간</option>
+									</th:block>
+								</select>
+								<select id="lbStTimeMin" required="required" data-valid-name="노출기간 시작시간">
+									<th:block th:each="num: ${#numbers.sequence(0,59)}">
+										<option  th:value="${#numbers.formatInteger(num,2)}"  th:text="|${#numbers.formatInteger(num,2)}분|" >분</option>
+									</th:block>
+								</select>
+								<input name="lbDispStTime" id="lbStTime" type="hidden" data-valid-name="노출기간 시작시간" value='000000' />
+								~
+								<input name="lbDispEddt" id="lbEdDate" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="노출기간 종료일" />
+								<select id="lbEdTimeHour" required="required" data-valid-name="노출기간 종료시간">
+									<th:block th:each="num: ${#numbers.sequence(0,23)}">
+										<option  th:value="${#numbers.formatInteger(num,2)}"  th:text="|${#numbers.formatInteger(num,2)}시|" th:selected="${#numbers.formatInteger(num,2)}==23 ? 'true'">시간</option>
+									</th:block>
+								</select>
+								<select id="lbEdTimeMin" required="required" data-valid-name="노출기간 종료시간">
+									<th:block th:each="num: ${#numbers.sequence(0,59)}">
+										<option  th:value="${#numbers.formatInteger(num,2)}"  th:text="|${#numbers.formatInteger(num,2)}분|" th:selected="${#numbers.formatInteger(num,2)}==59 ? 'true'">분</option>
+									</th:block>
+								</select>
+								<input name="lbDispEdTime" id="lbEdTime" type="hidden" data-valid-name="노출기간 종료시간" value='235959' />
+							</span>
+						</td>
+						<th>노출여부<i class="required" title="필수"></i></th>
+						<td>
+							<label class="rdoBtn"><input type="radio" name="dispYn" value="Y" checked="checked"/>Y</label>
+							<label class="rdoBtn"><input type="radio" name="dispYn" value="N">N</label>
+						</td>
+					</tr>
+					<tr>
+						<th>메인 목록 썸네일<i class="required" title="필수"></i></th>
+						<td colspan="3">
+							<div class="uFile w300">
+								<input id="file" name="file" type="file" class="uFileInput w300"/>
+								<label for="file" class="uFileLabel">파일선택</label>
+								<input type="hidden" name="orgTnfileNm"/>
+								<input type="hidden" name="sysTnfileNm"/>
+								<input type="hidden" name="newSysTnfileNm"/>
+							</div>
+							<input type="hidden" name="uploadDefaultUrl" id="uploadDefaultUrl" th:value="${@environment.getProperty('upload.image.view') + '/display/lookbook/thumbnail/'}"/>
+							<div id="imgView" class="off">
+								<img id="bannerPreViewUrl" src="" style="width:100px; height:100px"/>
+							</div>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</div>
+		</form>
+		<ul class="panelBar">
+			<li  class="right">
+				<button type="button" class="btn btnRight btn-success btn-lg" id="btnSave">저장</button>
+			</li>
+		</ul>
+	</div>
+</div>
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=2019072202"></script>
+<script th:inline="javascript">
+
+	/**
+	 * 저장
+	 */
+	$("#btnSave").on('click',function (){
+		// 필수값 validation 체크
+		if (!gagajf.validation('#lbBannerForm')) {
+			return false;
+		}
+
+		// 데이터 validation 체크
+		if(!dataValidation()){
+			return false;
+		}
+
+		var orgTnfileNm = $('#lbBannerForm input[name=sysTnfileNm]').val();
+		var sysTnfileNm = $('#lbBannerForm input[name=sysTnfileNm]').val();
+		var newSysTnfileNm = $('#lbBannerForm input[name=newSysTnfileNm]').val();
+		console.log('orgTnfileNm>>'+orgTnfileNm);
+		console.log('sysTnfileNm>>'+sysTnfileNm);
+		console.log('newSysTnfileNm>>'+newSysTnfileNm);
+
+		var fromDate = $('#lbBannerForm input[name=lbDispStdt]').val().replace(/[^0-9]/g, '')+$('#lbBannerForm #lbStTimeHour').val()+$('#lbBannerForm #lbStTimeMin').val()+'00';
+		var toDate = $('#lbBannerForm input[name=lbDispEddt]').val().replace(/[^0-9]/g, '')+$('#lbBannerForm #lbEdTimeHour').val()+$('#lbBannerForm #lbEdTimeMin').val()+'59';
+
+		var data = {
+			lookbookSq : $('#lbBannerForm input[name=lookbookSq]').val()
+			,title : $('#lbBannerForm input[name=title]').val()
+			,brandCd : $('#lbBannerForm select[name=brandCd]').val()
+			,dispStdt : fromDate
+			,dispEddt : toDate
+			,dispYn : $('#lbBannerForm input[name=dispYn]:checked').val()
+			,orgTnfileNm : orgTnfileNm
+			,sysTnfileNm : sysTnfileNm
+			,newSysTnfileNm : newSysTnfileNm
+			,mainDispYn : 'N'
+			,dispOrd : 1
+		};
+
+		var jsonData = JSON.stringify(data);
+
+		gagajf.ajaxJsonSubmit($('#lbBannerForm').prop('action'), jsonData, fnPopupSaveCollback);
+	});
+
+	var fnPopupSaveCollback = function (result){
+		uifnPopupClose('popupLookbookBanner');
+	}
+
+	// 데이터 validation 체크
+	function dataValidation(){
+		// 날짜체크
+		var fromDate = $('#lbBannerForm input[name=lbDispStdt]').val().replace(/[^0-9]/g, '')+$('#lbBannerForm #lbStTimeHour').val()+$('#lbBannerForm #lbStTimeMin').val();
+		var toDate = $('#lbBannerForm input[name=lbDispEddt]').val().replace(/[^0-9]/g, '')+$('#lbBannerForm #lbEdTimeHour').val()+$('#lbBannerForm #lbEdTimeMin').val();
+		if(fromDate > toDate){
+			mcxDialog.alert('노출 시작일자는 종료일자 보다 클 수 없습니다.');
+			return false;
+		}
+
+		return true;
+	}
+
+	// 썸네일이미지 첨부파일
+	$("#lbBannerForm input[name=file]").on('change',function(){
+		var file = this.files[0];
+		file.name = 'test';
+		if (typeof(file) == 'undefined'){
+			return;
+		}
+
+		gagajf.ajaxFileUpload('/common/file/upload?subDir=/display/lookbook/thumbnail'
+				, file
+				, function(result) {
+					$('#lbBannerForm input[name=sysTnfileNm]').val(result.oldFileName);
+					$('#lbBannerForm input[name=newSysTnfileNm]').val(result.newFileName);
+					$("#lbBannerForm #bannerPreViewUrl").attr('src', $("#lbBannerForm #uploadDefaultUrl").val()+result.newFileName);
+					$("#lbBannerForm #imgView").removeClass("off").addClass("on");
+				}
+				, 'image'
+		);
+	});
+
+	$(document).ready(function() {
+		//sortable Item List
+		//fnSearchData();
+	});
+</script>
+</html>

+ 28 - 2
src/main/webapp/WEB-INF/views/display/LookbookListForm.html

@@ -128,10 +128,36 @@
 <script th:inline="javascript">
 /*<![CDATA[*/
 	var brandGroupList = [[${brandGroupList}]];
-	
+
+	let columnDefs = [
+		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
+		{headerName: "룩북일련번호", field: "lookbookSq", width: 150, cellClass: 'text-center'
+			,cellRenderer: function(params) {
+				return '<a href="javascript:void(0);">' + params.value + '</a>';
+			}
+		},
+		{headerName: "타이틀", field: "title", width: 150, cellClass: 'text-center'},
+		{headerName: "브랜드", field: "brandCd", width: 150, cellClass: 'text-center'},
+		{headerName: "메인룩북", field: "mainDispYn", width: 150, cellClass: 'text-center'},
+		{headerName: "노출여부", field: "dispYn", width: 150, cellClass: 'text-center'},
+		{headerName: "노출시작일", field: "dispStdt", width: 150, cellClass: 'text-center'},
+		{headerName: "노출종료일", field: "dispEddt", width: 150, cellClass: 'text-center'},
+		{headerName: "등록자", field: "regNo", width: 150, cellClass: 'text-center'},
+		{headerName: "등록일자", field: "regDt", width: 150, cellClass: 'text-center'},
+		{headerName: "수정자", field: "updNo", width: 150, cellClass: 'text-center'},
+		{headerName: "수정일자", field: "updDt", width: 150, cellClass: 'text-center'}
+	];
+
+	let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+	gridOptions.rowSelection = "multiple";
+
+	$("#btnReg").on('click', function(){
+		cfnOpenLookbookBannerPopup('N');
+	});
+
 	$(document).ready(function() {
 		// Create a agGrid
-		//gagaAgGrid.createGrid('gridList', gridOptions);
+		gagaAgGrid.createGrid('gridList', gridOptions);
 	});
 /*]]>*/
 </script>

+ 15 - 15
src/main/webapp/WEB-INF/views/display/PopupListForm.html

@@ -102,9 +102,9 @@
 					<select name="viewPage" id="viewPageView" onchange="fnChangeViewPage('View')" >
 						<option th:if="${viewPageList}" th:each="oneData, status : ${viewPageList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 					</select>
-					<select name="cate1No" id="cate1NoView" class='off' data-valid-name="대카테고리">
+					<select name="cateNo" id="cateNoView" class='off' data-valid-name="대카테고리">
 						<option value="">[선택]</option>
-						<option th:if="${cate1NoList}" th:each="oneData, status : ${cate1NoList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+						<option th:if="${cateNoList}" th:each="oneData, status : ${cateNoList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 					</select>
 					<input type="text" class="off w80" name="brandCd" id="brandCdView" placeholder="브랜드그룹번호" required="required" data-valid-name="브랜드"/>
 					<button type="button" class="off btn btn-base btn-lg" id="searchBrandGroupView" onclick="fnBrandGroupSearch('View')">브랜드 조회</button>
@@ -190,9 +190,9 @@
 							<select name="viewPage" id="viewPage" onchange="fnChangeViewPage('')" data-valid-name="전시위치">
 								<option th:if="${viewPageList}" th:each="oneData, status : ${viewPageList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
-							<select name="cate1No" id="cate1No" class='off' data-valid-name="대카테고리">
+							<select name="cateNo" id="cateNo" class='off' data-valid-name="대카테고리">
 								<option value="">[선택]</option>
-								<option th:if="${cate1NoList}" th:each="oneData, status : ${cate1NoList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+								<option th:if="${cateNoList}" th:each="oneData, status : ${cateNoList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 							<input type="text" class="off w80" name="brandCd" id="brandCd" placeholder="브랜드그룹번호" data-valid-name="브랜드그룹번호"/>
 							<button type="button" class="off btn btn-base btn-lg" id="searchBrandGroup"  onclick="fnBrandGroupSearch('')">브랜드 조회</button>
@@ -296,7 +296,7 @@
 /*<![CDATA[*/
 	var siteCdList = [[${siteCdList}]];
 	var viewPageList = [[${viewPageList}]];
-	var cate1NoList = [[${cate1NoList}]];
+	var cateNoList = [[${cateNoList}]];
 
 	var imgDivLen = 1;	//이미지 추가 액션수관리
 
@@ -311,7 +311,7 @@
 		{headerName: "전시위치", field: "viewPage", width: 150, cellClass: 'text-center'
 			,valueFormatter: function (params) { return !gagajf.isNull(params.value) ? "["+params.value+"] "+params.data.viewPageNm : '';}
 		},
-		{headerName: "카테고리", field: "cate1No", width: 150, cellClass: 'text-center'},
+		{headerName: "카테고리", field: "cateNo", width: 150, cellClass: 'text-center'},
 		{headerName: "브랜드", field: "brandCd", width: 150, cellClass: 'text-center'},
 		{headerName: "기획전번호", field: "planSq", width: 150, cellClass: 'text-center'},
 		{headerName: "PC/모바일", field: "frontGb", width: 150, cellClass: 'text-center'
@@ -347,7 +347,7 @@
 			$(formId + " select[name=siteCd]").val(event.data.siteCd);
 			$(formId + " select[name=viewPage]").val(event.data.viewPage);
 			fnChangeViewPage('');
-			$(formId + " select[name=cate1No]").val(event.data.cate1No).attr("selected", true);
+			$(formId + " select[name=cateNo]").val(event.data.cateNo).attr("selected", true);
 			$(formId + " input[name=brandCd]").val(event.data.brandCd);
 			$(formId + " input[name=planSq]").val(event.data.planSq);
 			$(formId + " select[name=frontGb]").val(event.data.frontGb);
@@ -402,31 +402,31 @@
 	// 미리보기위치 선택
 	var fnChangeViewPage = function(sub){
 		if($("#viewPage"+sub).val()=="G037_30"){
-			$("#cate1No"+sub).removeClass("off").addClass("on");
+			$("#cateNo"+sub).removeClass("off").addClass("on");
 			$("#brandCd"+sub).removeClass("on").addClass("off");
 			$("#searchBrandGroup"+sub).removeClass("on").addClass("off");
 			$("#planSq"+sub).removeClass("on").addClass("off");
 			$("#btnSearchPlan"+sub).removeClass("on").addClass("off");
 		}else if($("#viewPage"+sub).val()=="G037_31"){
-			$("#cate1No"+sub).removeClass("on").addClass("off");
+			$("#cateNo"+sub).removeClass("on").addClass("off");
 			$("#brandCd"+sub).removeClass("off").addClass("on");
 			$("#searchBrandGroup"+sub).removeClass("off").addClass("on");
 			$("#planSq"+sub).removeClass("on").addClass("off");
 			$("#btnSearchPlan"+sub).removeClass("on").addClass("off");
 		}else if($("#viewPage"+sub).val()=="G037_40"){
-			$("#cate1No"+sub).removeClass("on").addClass("off");
+			$("#cateNo"+sub).removeClass("on").addClass("off");
 			$("#brandCd"+sub).removeClass("on").addClass("off");
 			$("#searchBrandGroup"+sub).removeClass("on").addClass("off");
 			$("#planSq"+sub).removeClass("off").addClass("on");
 			$("#btnSearchPlan"+sub).removeClass("off").addClass("on");
 		}else{
-			$("#cate1No"+sub).removeClass("on").addClass("off");
+			$("#cateNo"+sub).removeClass("on").addClass("off");
 			$("#brandCd"+sub).removeClass("on").addClass("off");
 			$("#searchBrandGroup"+sub).removeClass("on").addClass("off");
 			$("#planSq"+sub).removeClass("on").addClass("off");
 			$("#btnSearchPlan"+sub).removeClass("on").addClass("off");
 		}
-		$("#cate1No"+sub).val('');
+		$("#cateNo"+sub).val('');
 		$("#brandCd"+sub).val('');
 		$("#planSq"+sub).val('');
 	};
@@ -447,7 +447,7 @@
 		$('#detailForm #imgFileNm1').html('');
 		$('#detailForm input[name=orgImgFileNm]').val('');
 		$('#detailForm input[name=newImgFileNm]').val('');
-		$("#cate1No").removeClass("on").addClass("off");
+		$("#cateNo").removeClass("on").addClass("off");
 		$("#searchBrandGroup").removeClass("on").addClass("off");
 		$('#detailForm input[name=brandCd]').removeClass("on").addClass("off");
 		$("#btnSearchPlan").removeClass("on").addClass("off");
@@ -470,7 +470,7 @@
 		var selectViewPage = $('#detailForm select[name=viewPage]').val();
 
 		if(selectViewPage=='G037_30'){
-			if(gagajf.isNull($('#detailForm select[name=cate1No]').val())){
+			if(gagajf.isNull($('#detailForm select[name=cateNo]').val())){
 				mcxDialog.alert('카테고리를 선택해 주세요.');
 				return false;
 			}
@@ -541,7 +541,7 @@
 			popupSq : $('#detailForm input[name=popupSq]').val()
 			,siteCd : $('#detailForm select[name=siteCd]').val()
 			,viewPage : $('#detailForm select[name=viewPage]').val()
-			,cate1No : $('#detailForm select[name=cate1No]').val()
+			,cateNo : $('#detailForm select[name=cateNo]').val()
 			,brandCd : $('#detailForm input[name=brandCd]').val()
 			,planSq : $('#detailForm input[name=planSq]').val()
 			,frontGb : $('#detailForm select[name=frontGb]').val()

+ 6 - 4
src/main/webapp/ux/js/admin.popup.js

@@ -486,13 +486,15 @@ var cfnOpenMainContentsPopup = function(cateNo, contentsLoc) {
  *     cfnOpenLookbookBannerPopup(lookbookSq,lookbookTitle);
  * </pre>
  * @param  : lookbookSq - 룩북 일련번호
+ * 			 mode - 모드(N:신규, U:상세/수정, C:복사) 필수
  * @since  : 2020/02/25
  * @author : sasa004
  */
-var cfnOpenLookbookBannerPopup = function(lookbookSq, lookbookTitle) {
-	var actionUrl = "/display/lookbook/banner/popup/form?lookbookSq=" + lookbookSq;
-	if (typeof(lookbookTitle) != 'undefined') actionUrl += "&lookbookTitle=" + encodeURIComponent(lookbookTitle);
-	uifnPopupClose('popupLookbookBanner');
+var cfnOpenLookbookBannerPopup = function(mode, lookbookSq) {
+	var actionUrl = "/display/lookbook/banner/popup/form?mode="+mode;
+	if (typeof(lookbookSq) != 'undefined') actionUrl += "&lookbookSq=" + lookbookSq;
+	//if (typeof(lookbookTitle) != 'undefined') actionUrl += "&lookbookTitle=" + encodeURIComponent(lookbookTitle);
+	//uifnPopupClose('popupLookbookBanner');
 	cfnOpenModalPopup(actionUrl, 'popupLookbookBanner');
 }