0

我有一个应用程序试图在使用 dojo 的 Worklight 5.0.6 混合应用程序中使用 dojox.calendar.Calendar。我已将 calendar-layer.js.compressed.js 添加到我的 build-dojo.xml 文件中,用于复制和 dojo.resources.layers。

    <patternset id="dojo.resources.layers">
            <include name="dojo/dojo.js.compressed.js"/>
            <include name="dojo/core-web-layer.js.compressed.js"/>
            <include name="dojo/calendar-layer.js.compressed.js"/>
    </patternset>

    <copy todir="${build.dir}">
        <fileset dir="${dojo.root}">
            <include name="dojo/mobile-compat-layer.js.compressed.js"/>
            <include name="dojo/mobile-ui-layer.js.compressed.js"/>
            <include name="dojo/calendar-layer.js.compressed.js"/>
        </fileset>
        <mapper refid="dojo.resources.mapper"/>
    </copy>

在我的主 html 文件中,我包含了日历图层。

<body id="content" style="display: none">

<script src="js/initOptions.js"></script>
<script src="js/bobCAT.js"></script>
<script src="js/messages.js"></script>
<script src="dojo/calendar-layer.js"></script>

使用丰富的 html 编辑器,我将 Palette 中的日历 Dojox Widget 添加到一个简单的对话框中。

        <div  data-dojo-type="dojox.mobile.SimpleDialog" id="select-week-dialog">
            <div data-dojo-type="dojox.mobile.Heading"
                data-dojo-props="label:'Select Week'"></div>
            <div id="select-week-dialog-calendar" data-dojo-type="dojox.calendar.Calendar"></div>
            <div align=center>
                <button id="select-week-dialog-ok" data-dojo-type="dojox.mobile.Button" style="width:100%;height:40px">OK</button>
                <button id="select-week-dialog-cancel" data-dojo-type="dojox.mobile.Button" style="width:100%;height:40px">Cancel</button>
            </div>
        </div>

当我构建然后启动应用程序。我在控制台中看到以下内容。

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8090/apps/services/preview/bobCAT/iphone/1.0/default/dojox/calendar/Calendar.js

任何帮助都将受到极大的欢迎。

4

2 回答 2

2

对于那些感兴趣的人,我花了一些时间在另一个晚上深入研究,并且能够让 dojox.mobile.Calendar 和 dojox.calendar.Calendar 工作。最后,我创建了自己的日历小部件。dojox.calendar.Calendar 非常严格,字体被定义到像素级别,并且不能很好地缩放。dojox.mobile.Calendar 工作得更好,但我正在寻找的 UI 是选择整个星期而不是一天。

要使其正常工作,您需要更新 build-dojo.xml 以确保所需的 CSS、html 模板和 javascript。其中很多是在查看包含的 JS,然后在 chrome 中查看控制台消息中缺少哪些文件。请参见下面的片段:

    <!-- copy dojox.mobile -->
    <copy todir="${build.dir}">
        <fileset dir="${dojo.root}">
            <include name="dojox/mobile/bookmarkable.js"/>
            <include name="dojox/mobile/deviceTheme.js"/>
            <include name="dojox/mobile/migrationAssist.js"/>
            <include name="dojox/mobile/mobile-all.js"/>
            <include name="dojox/mobile/themes/**"/>
            <include name="dijit/themes/**"/>
            <include name="dojox/calendar/**"/>
            <include name="dojox/html/**"/>     
            <include name="dojo/cldr/**"/>
            <include name="dojox/widget/**"/>
            <include name="dijit/icons/images/**"/>
        </fileset>
    </copy>
于 2013-10-24T13:22:39.360 回答
0

不确定您的应用程序的目的,但您是否尝试过使用 dojox.mobile.Calendar 而不是 dojox.calendar.Calendar?

于 2013-08-26T17:26:28.197 回答