提交 7526adb5 编写于 作者: T tengfan

datepicker xts

Signed-off-by: Ntengfan <tengfan3@huawei.com>
上级 73a5af79
/*
* Copyright (c) 2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import common from '@ohos.app.ability.common';
import window from '@ohos.window';
import router from '@ohos.router';
@Entry
@Component
struct DatePickerDialogExample {
private changeOrientation(isLandscape: boolean) {
// 获取UIAbility实例的上下文信息
let context = getContext(this) as common.UIAbilityContext;
// 调用该接口手动改变设备横竖屏状态
window.getLastWindow(context).then((lastWindow) => {
lastWindow.setPreferredOrientation(isLandscape ? window.Orientation.LANDSCAPE : window.Orientation.PORTRAIT)
});
}
selectedDate: Date = new Date("2010-2-2")
build() {
Column() {
Button('Landscape')
.fontColor(Color.Black)
.focusable(true)
.onClick(() => {
this.changeOrientation(true);
})
Button('Portrait')
.fontColor(Color.Black)
.focusable(true)
.onClick(() => {
this.changeOrientation(false);
})
Button("DatePickerDialog")
.margin(20)
.onClick(() => {
DatePickerDialog.show({
start: new Date("2000-1-1"),
end: new Date("2100-12-31"),
selected: this.selectedDate,
onDateAccept: (value: Date) => {
console.info("DatePickerDialog:onAccept()" + value.toString())
},
onCancel: () => {
console.info("DatePickerDialog:onCancel()")
},
onDateChange: (value: Date) => {
console.info("DatePickerDialog:onChange()" + value.toString())
}
})
})
Button("DatePickerDialog")
.margin(20)
.onClick(() => {
DatePickerDialog.show({
start: new Date("2000-1-1"),
end: new Date("2100-12-31"),
selected: this.selectedDate,
lunar: false,
showTime: true,
onDateAccept: (value: Date) => {
this.selectedDate = value
console.info("DatePickerDialog:onDateAccept()" + value.toString())
},
onCancel: () => {
console.info("DatePickerDialog:onCancel()")
},
onDateChange: (value: Date) => {
console.info("DatePickerDialog:onDateChange()" + value.toString())
}
})
})
DatePicker({
start: new Date('1970-1-1'),
end: new Date('2100-1-1'),
selected: this.selectedDate
}).key('Stage_DatePicker_Test_0010')
.onDateChange((value: Date) => {
console.info('DatePicker:onDateChange() select current date is: ' + value.toString())
})
}.width('100%')
}
}
\ No newline at end of file
/*
* Copyright (c) 2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import hilog from '@ohos.hilog';
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'
import router from '@system.router';
export default function ActsDatePickerTest() {
describe('ActsDatePickerTest', function () {
beforeEach(async function (done) {
console.info("flex beforeEach start");
let options = {
uri: 'TestAbility/pages/DatePicker',
}
try {
router.clear();
let pages = router.getState();
console.info("get DatePicker state success " + JSON.stringify(pages));
if (!("DatePicker" == pages.name)) {
console.info("get DatePicker state success " + JSON.stringify(pages.name));
let result = await router.push(options);
console.info("push DatePicker page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push DatePicker page error: " + err);
}
done()
});
it('Stage_DatePicker_Test_0010', 0, async function (done) {
console.info('Stage_DatePicker_Test_0010 START');
try{
let strJson = getInspectorByKey('Stage_DatePicker_Test_0010');
console.info('Stage_DatePicker_Test_0010 START :'+ JSON.stringify(strJson));
let obj = JSON.parse(strJson);
console.info("Stage_DatePicker_Test_0010 obj is: " + JSON.stringify(obj));
let onDateChange = obj.$attrs.onDateChange
expect(typeof onDateChange).assertEqual("undefined")
let DatePickerDialog: DatePickerDialogOptions = {
onDateAccept: (value: Date) => {
console.info("DatePickerDialog:onAccept()" + value.toString())
},
onDateChange: (value: Date) => {
console.info("DatePickerDialog:onChange()" + value.toString())
}}
console.info("Stage_DatePicker_Test_0010 InsertValue is: " + JSON.stringify(DatePickerDialog))
expect(typeof DatePickerDialog.onDateAccept).assertEqual("function")
expect(typeof DatePickerDialog.onDateChange).assertEqual("function")
console.info('Stage_DatePicker_Test_0010 END ');
} catch(err) {
expect().assertFail()
console.info('Stage_DatePicker_Test_0010 ERR '+ JSON.stringify(err));
}
done();
});
})
}
\ No newline at end of file
...@@ -13,8 +13,9 @@ ...@@ -13,8 +13,9 @@
* limitations under the License. * limitations under the License.
*/ */
import datepicker from './DatePicker' import datepicker from './DatePicker'
import ActsDatePickerTest from './DatePicker.test'
export default function testsuite() { export default function testsuite() {
datepicker() datepicker()
ActsDatePickerTest()
} }
\ No newline at end of file
{ {
"src": [ "src": [
"TestAbility/pages/Index" "TestAbility/pages/Index",
"TestAbility/pages/DatePicker"
] ]
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册